忍者ブログ

青空を映す皿

サーバ監視の結果

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

サーバ監視の結果

先日、と言っても、だいぶ前か?
監視サーバを構築した。

監視

対象のredmineサーバを監視するために、リソースを取得して、グラフ化する設定をする。
デフォルトで用意されている物を使って、データを取得し、グラフを確認。
用意されていない物は、batでデータを取ってくるようにする。

スワップ

グラフ化したので、日々グラフを確認する。
当初はスワップかと思ってたんだけど、スワップ容量は割と一定。
と、いうかメモリに空きがあるのに何でスワップ使ってるの?
Windows意味不明すぎる。

メモリ

スワップではなさそうなので、メモリを確認するが、上に書いたように空きはある状態。

CPU

使用率を見ていると、反応が遅くなる時にCPU使用率が100%に張り付いている。
なるほど、CPUか。

プロセス

redmineに関連するプロセスを監視に追加する。
すると、事象発生時にrubyプロセスがCPU食いまくっていた。
rubyプロセスは2個あるんだが、片方が食いまくったり、両方食っていたり。

GC

rubyプロセスでCPU食うって、何だろう?と考えて、GCかなと適当なあたりをつける。
GCの回数を取得するbat作って、監視に追加。
あれ?回数増えない。全然増えない。

プロセス再起動

早朝にrubyプロセス再起動してた。その方が1日問題なく動くだろうと思って。
試しに再起動をやめたら、、、事象発生しねぇぇw
まぢかぁぁぁ、よかれと思って再起動設定したのに、無駄というか害だった。

推測

結果からの推測だけど、ブラウザで読み込むrubyファイル内のクラスをメモリにキャッシュしてて、キャッシュがあれば動作は早いが、キャッシュがないと読込みに時間がかかる、のか?
そんな事ある?
クラスのインスタンス化にCPU使いまくるんだろうか。

実際、プロセス再起動しないとメモリ使用量がじわじわ増えていく。
ただ、メモリを全部食いつくす事はない。
この状態だと、ほぼ事象が発生しない。

結論

Railsで構築したシステムは、むやみに再起動するな。



拍手[0回]

PR

コメント

プロフィール

HN:
性別:
非公開

P R