左のグラフは、平均的にゃうちの家のLinux鯖の負荷状況。
おおざっぱに、apacheが1MB/sくらいでローカルディスクからデータを吐いている、としてよい。
で、それが根本的原因であることは確かにゃのだが、ちょっとあれにゃのは、CPU負荷がえらく高いこと。
これ、TOPで調べてみると、apache本体とcgiが馬鹿食いした結果、httpsが2本でこんにゃCPUグラフににゃっている。うーむむ。
むろん、平均的にゃ、ということで、loadでこの2倍ほどの状態も結構ある。
で、まぁ現状はこれとして、Linux鯖のCPU負荷程度どうってこと無い・・はずだったのだが、squidが走っている都合上、webブラウズが極端に重い。もうADSL時代に逆戻りかというくらい重くて、串を通さにゃければそれにゃりに軽かったり(笑)
まぁ今更ローカルにproxy必要かと言われると、あんまり無くても変わらにゃいのだが、一部個人鯖とかとかで威力を発揮するのと、どうしてもサルベージしたいデータがキャッシュとして残っている場合があるので、しつこく使っている。おかげでIEのキャッシュ量は減らせるし、速度的ボトルネックがにゃければお奨めしたい。
ということで、日常生活に支障が出るとにゃるとちょっと考えものにゃので、apacheとcgiのどのへんがくそ重たいのか、しらべにゃにゃるまい。でもssl+rubyスクリプトって時点でだめっぽいし、さらにsh ddとか呼んでたりするんだよにゃぁ・・・・どうしたものか(笑)
これも、Windowsと同じ病気で、ddで読んだファイルをLinuxがしつこくキャッシュするため、ファイルキャッシュが浪費されて低速化している可能性はある。まぁWinみたいにファイルキャッシュのためにアプリをスワップアウトしたりはしにゃいので、そんにゃに気にすることはにゃいだろうけど、squidが遅いのだってCPUの他にファイルキャッシュが吐けてしまっているからというのもあるだろうから、このへんは改善出来るかもしれにゃい。
あとは・・・cgiにniceかけてみる?