TOPページ掲示板
作成日:2007年11月09日 作成:Yosi

Vine Linuxで自宅サーバーの掲示板で過去に質問された内容です。

No.3044 負荷対策について


No.3044 投稿時間:2007年11月09日(Fri) 19:40 投稿者名:FAS URL:
タイトル:負荷対策について

■サーバー環境は以下の通りです。(修正)
CPU: 750MHz
メモリ:512MB(増設しました)
HD:40GB
回線:ADSL47M
ルーター:YAMAHA57i
OS:VineLinux4.1
サーバーソフト:apache2

いつもお世話になっております。おかげさまでVineLinux4.1を上記環境のパソコンにインストールし、順調に動作しております。
今のところ問題はないのですが、不明な点があり、いろいろ調べているのですが解決できないためこちらで質問させていただきます。

HTMLファイル等の表示は問題ないのですが、cgi(perl)ファイルへ集中的にアクセスした場合に、CPUがMAXになってしまい大変負荷がかかってしまいます。
先日は海外からCGIへの連続した送信が長時間続き、長時間パソコンが激重状態になっておりました。
どうも、レンタルサーバーや他の方の自宅サーバーでは何らかの対策が講じられているようで、集中したアクセスがあっても大丈夫なようですが、
うちの自宅サーバーは常にCGIが起動されてしまっているようです。

<IfModule mod_cache.c>
<IfModule mod_disk_cache.c>
CacheRoot /usr/local/apache2/cache #フォルダを作成
CacheEnable disk /
CacheDirLevels 5
CacheDirLength 3
</IfModule>

<IfModule mod_mem_cache.c>
CacheEnable mem /
MCacheSize 4096
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048
</IfModule>
</IfModule>
調べてみましたところ、同一IPからの同一ファイルへの連続アクセスによる負荷にはキャッシュを有効にするといいそうで、apache2のhttpd.confに↑の設定を記述してみましたが、F5等で送信すると相変わらずキャッシュが効かずにCPUが100%状態になっております。
どこか設定方法が間違っているのでしょうか?それとも、

httpd.confの
LoadModule cache_module modules/mod_cache.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
には#が入っていませんが、
VineLinux4.1では、mod_cacheや、mod_disk_cacheや、mod_mem_cache等を使うには個別にモジュールをインストールする必要があるのでしょうか?

また、CGIへの連続アクセスに対する対策はキャッシュ以外の方法を講じるのがいいのでしょうか?
皆さんが公開されているサーバーとは何かが違うようですが、基本的にどのような対策を講じられているのかよくわかっておりません。
大変お手数をおかけし恐縮でございますが、ご指導頂けれると幸いです。


No.3047 投稿時間:2007年11月10日(Sat) 17:52 投稿者名:Yosi@管理人 URL:
タイトル:Re: 負荷対策について

私の場合はhttpd.confでこの様な感じです。

KeepAlive On

その他はほぼサイトの内容と同じです。


No.3048 投稿時間:2007年11月10日(Sat) 19:20 投稿者名:FAS URL:
タイトル:Re^2: 負荷対策について

有難うございます。うちもKeepAliveはOnにしています。設定的にはみなさん大体同じなんですね。
ただ単にパソコンのスペックが低すぎるのがいけないのかも知れません。もう少しこのまま辛抱して、将来的にはクアッドコアの消費電力版が安くなった頃に買い換えようかと思います。


No.3050 投稿時間:2007年11月11日(Sun) 07:37 投稿者名:moko URL:
タイトル:Re^3: 負荷対策について

メモリーを増強してmod_perlでcgiを動かしてみてはどうでしょう。
処理が数段に早くなりますが、メモリーの消費が激しいのでMaxClients
で調整する必要があります。
あと、cronで1日2回程度apacheの再起動するのが安全だと思います。
再起動はrestartじゃなくてgracefulでする方が安全です。
チューニングしだいで、もっと快適になれるように思うのですが・・


No.3052 投稿時間:2007年11月11日(Sun) 14:58 投稿者名:FAS URL:
タイトル:Re^4: 負荷対策について

mokoさんありがとうございます。
さっそくmod_perl2をapt-getしたところ
パッケージが壊れているような表示がでてインストールできませんでした。あと、SpeedyCGIはメモリの使い方が上手だそうで、SpeedyCGIで動かしたいスクリプトをちょこっと弄るだけでOKなそうですが残念ながらパッケージが無いようです。検索でインストール方法の資料を調べてみましたが、情報が少なく手こずっています。ネット上にはphp高速化についての情報は結構あるのですが、perlの高速化に関する情報は少ないですね・・・
少し前に、こちらのサイト様を参考にVineLinuxに挑戦して無事運営することができました。初心者にもわかりやすい解説で大変助かっております。
管理人様へ要望なのですが、Perlの高速化(SpeedyCGI)に関する解説ページも作成していただけたら嬉しく思います。


No.3053 投稿時間:2007年11月11日(Sun) 21:47 投稿者名:moko URL:
タイトル:Re^5: 負荷対策について

わたしはソースからインストールしてるので、mod_perlもソースで
インストールしています。
サイトを検索すると、たくさんヒットしますのでぜひチャレンジしてみてください。


No.3054 投稿時間:2007年11月12日(Mon) 04:58 投稿者名:FAS URL:
タイトル:Re^6: 負荷対策について

mokoさん有難うございます。
cpanからのインストールは試してみたのですが、途中でエラーが沢山表示されてしまい一向に進みません。
ソースからのコンパイルを理解するには今のスキルではなかなか難しいものがありそうですが、VineLinuxを覚えるには避けて通れそうにもありませんので、徹底的に挑戦してみようと思います。<(_ _)>



TOPページ掲示板▲頁先頭