hirax.net::Keywords::「サーバ」のブログ



2009-01-30[n年前へ]

hirax.net の rss 

 hirax.netの更新内容(rss)は、"inside out "Techlog" "Logos" "できるかな?" すべてを配信しています。また、ケータイ閲覧用頁も、それらを一括管理しています。けれど、その一方で通常のPC閲覧頁としては、"inside out "Techlog" "Logos" "できるかな?" すべてをひとつに集めた頁はありません。更新内容を「(動画・スクリプト使用の内容などを除き)大雑把に眺めたい」という方は、hirax.net::rssをご覧下されば、幸いです。

2009-04-07[n年前へ]

可動部が少なくて、静かで、発熱量が少ないPCは? 

 趣味で動かしているようなサーバでも、24時間数年にわたり動かしていれば、各種ファンも調子が悪くなってくるし、たまに、熱で壊れる部品も出てくる。特に、趣味用サーバなどは、サーバ室にいるわけでなく、アパートの机の上にいる。すると、この季節には花粉や黄砂の嵐を浴びたりもするわけで、ファンや部品の調子が悪くなるのも当然といえば当然である。

 となると、ファンがなくて、あまり発熱しないPCをサーバ用として欲しくなる。できれば、机の上に3個くらい置いても邪魔にならない程度の小さいものである(たとえば、このPC程度の )。そして、もちろん、「安い」ものだ。

 というわけで、可動部が少なくて、静かで、発熱量が少なく、小さく、安い…そんなPCを探している。しかし、なかなか見つからない。

2009-04-27[n年前へ]

素人がRails入門書を買ってWEBサーバを立ち上げた後の苦難の道 その1 

 これは、あくまで”素人”が、自分で作った「自分のWEB LOG(というより、やはりWEB日記)」を運用するまでの(これからもまだまだ続くだろう)苦難の道の記録です。

 書店に並んでいるRailsプログラミング本を買い、小さなプログラムを書いて、自宅サーバを(手書きHTMLとハイパーニッキシステムから移行し)動かし始めて1年と少し経ちます。今は、趣味サーバとしては普通に動いているようですが、プログラミング素人が書店で入門書を買って、Railsサーバを立ち上げた後は結構大変でした。大変だったといっても、何しろいちばん最初は入門書のステップ1に書いてあるようにInstantRailsをインストールしただけで動かしてみたのです(逆にいえば、一番最初に買った入門書 がそれだけわかりやすく、本を読むだけで簡単にアプリケーションを作ってみることができた、ということでもあります)。当然、キャッシュも使わず、プロセスも1つだけで動かしたわけです。何しろ、知識は書店で買った入門書だけなので、そんな感じで動かしてみたのです。

 すると、たいしたアクセスもないにも関わらず、数分も立たない内にWebrickは反応をしなくなり、サーバはすぐに黙ってウンともスンとも言わなくなってしまいました。今考えてみれば、それは当たり前の話で、画像もファイルも何から何まですべての配信・処理をひとつのプロセスが行おうとしていたのですから、ちょっと無理があり過ぎ、です。そんなわけで、素人が「Rails入門書」のステップ1を読んだだけでサーバを立ち上げた結果は、趣味・個人サーバですら、1時間も安定した稼働をさせることができない状態になりました。

 そこで、次のステップとして、その次に買った本で運用の仕方を学びつつ 、1台のPCでmongrelサーバをクラスタリングさせることにしてみました。次のような感じの(こんな感じというだけで実際に使っているものとは違いますが)スクリプトを書き、10個くらいのmongrelサーバを起動させ、再起動をたまにさせることでメモリーリークや、いろんな問題に目をつぶって動かしてみることにしたのです。

# gem install win32-process
# gem install windows-pr

require 'win32/process'
require 'windows/handle'
include Windows::Process
include Windows::Handle

class ProcessController
 def initialize(command)
  @pi=nil
  start(command)
 end
 def start(command)
  @pi=Process.create(
   :app_name=>command[:cmd], 
   :cwd=>command[:cwd])
 end
 def stop
  Process.kill(9, @pi.process_id)
  CloseHandle(@pi.process_handle)
 end
end

@comands=[
  {:path=>"Z:\\blog",
   :cmd=>'mongrel_rails start -p 8080 -e production'},                                        
  {:path=>"Z:\\blog",
   :cmd=>'mongrel_rails start -p 8081 -e production'}]

while true
 @proccesses=[]
 @comands.each{|comand|
  @proccesses << ProcessController.new(comand)
 }
 sleep 60*60*24
 @proccesses.each{|process|
  process.stop
 }
end

 しかし、素人がRails入門書を買ってWEBサーバを立ち上げた後の苦難の道は、まだまだその先も長かったのです。今もたくさん問題を抱えているのですが、とりあえず、二番目に生じた課題は、プログラミングに時間を使うのが嫌だったので、負荷分散をPCの数で解決しようとした時に起きた色んなトラブルでした。

2009-05-15[n年前へ]

RubyでHadoopをラップ、分散処理ツールキットが登場 

 RubyでHadoopをラップ、分散処理ツールキットが登場~New York Timesがログ解析向けで自社開発したものを公表~

 米新聞社大手のニューヨーク・タイムズは5月11日、Rubyによる大規模分散処理のツールキット「Map/Reduce Toolkit」(MRToolkit)をGPLv3の下にオープンソースで公開したと発表した。MRToolkitは、すでに稼働しているクラスタ上の Hadoopと合わせて使うことでRubyで容易にMap/Reduce処理を記述することができる一種のラッパー。処理自体はHadoopが行う。すでにHadoopを使っているユーザーであれば、中小規模のプロジェクトに対して、すぐにMRToolkitを適用可能としている。
require 'mrtoolkit'
class MainJob < JobBase
  def job
    mapper CopyMap
    reducer UniqueCountReduce
    indir "logs"
    outdir "ip"
  end
end

2009-06-11[n年前へ]

サーバ構成変更「作業中」です。 

 SQL用サーバが不調になり、ついには電源が入らないようになりました。電源ボタンを押しても、ウンともスンとも言わず、全く動く気配がありません。なにはともあれ、データを確認してみると、ハードディスクには異常はありませんでした。そこで、とりあえず、サーバ構成を変えPCを1台減らし動かし始めました。

 サーバが1台動かなくなったのは残念ですが、動かなくなったのは省エネからはほど遠い550W電源を積んだPen4時代のマシンですから、何だか直すのも得策ではないような気がします。

 そこで、これを機にサーバをVMware 上で動かすように、つまり、サーバを実PC群で動かすのではなく、仮想PC群でサーバを動かすように変えようと思います。というわけで、そういう作業を気が向いた時にしていることもあり、しかも、そういう作業の途中で他のことをし始めたり(発泡酒を飲んで寝ていたり)することもあり、システムが落ちていたり・落ちていなかったり・・・という今日この頃です。夏近くというのは、個人サーバには実に辛く、そして、発泡酒がとても美味しい頃合いですね。



■Powered by yagm.net