- ベストアンサー
CGIがサーバーに与える負荷
こんばんは。 CGIがサーバーに与える負荷について教えてほしいのですが、 今度、多機能な掲示板をHPに数十個のせる事になりました。 公開はしていないのですが、その公開前にCGIが動いた時の サーバーにかかる負荷がどのぐらいあるか知りたいのですが、 負荷を調べる方法はあるのでしょうか? 当然、サーバーのスペック、アクセス数、回線の太さになどに よっても変わってくると思いますが、おおまかでよいので知り たいと思っています。 調べる方法、なんでもいいですので、どうか教えてください。 ちなみにサーバーはFreeBSD4.4です。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
CGIっていっても、言語によって結構不可が違います。 おそらくPerlのことをいってらっしゃるのでしょうが、Perlは実行時にスクリプトをコンパイルしますので、実行バイナリと比べると不利です。 多機能掲示板というとスレッドの位置を変えられたり、簡単に編集できたりとかでしょうが、基本的にはそういう動作は書き込むときと同じ負荷だと思ってください。 多機能となるとファイルサイズが問題になってきますが、じつは一度コンパイルすると、実際はバイナリをキャッシュするそうで、2回目からはコンパイルに時間を取られることなく、ファイルのロード時間だけが問題になると思います。 公開していないということなので、一度に複数の掲示板に人がどさどさ押しかけるなんてことはないでしょう。 数十個とはいいますが、1つのHPにそれだけの掲示板があるのでしょうか? もしそうなら、その掲示板にはそのHPからしか飛ばないわけですから、せいぜいHPの読者の数しか合計書き込み数はないことになるではないですか。 掲示板の種類が同じでいいなら、掲示板スクリプトは1つにして、データファイルをわけられるようなものにすると、容量節約にもなりますし、バイナリキャッシュも少なくなり実行速度も上昇するでしょう。 調べる方法ってのは難しいですね。 管理者にでもならなければ無理でしょう。
その他の回答 (2)
- web5
- ベストアンサー率0% (0/2)
mod_perlとは、Apcheのプラグインみたいなものです。 Apache用のモジュールって言った方がいいかも? Apacheとperlを別々にインストールしてあるだけだと、 CGIにアクセスされるたびにperlのプロセスが立ち上がります。 しかし、mod_perlを用いてApacheのモジュール化にしておくと、 perlのプロセスはあがった(メモリに常駐した)ままになり、 CGIのアクセスが来てもプロセスを立ち上げる時間がないため高速な処理が可能となります。 実際、CGIの処理している時間は短いので、 プロセスを立ち上げるというオーバーヘッドの方が大きく、 CGIの効率が悪くなってしまうため、このようなモジュールが出来たらしいです。 レンタルサーバーなら回線の負荷は大丈夫そうですね。 Apacheとperlを用いてCGIを実行する場合は、特別な理由がない限りmod_perlをおすすめします。 サーバーにもよりますが、Linuxだとmod_perlは標準装備となっていることが多いようです。
- web5
- ベストアンサー率0% (0/2)
サーバーにもよりますが、 もし、Apacheを使ってmod_perlが実装されていた場合、あまり気にしなくていいと思います。 簡単に理由を書きますと『perl実行毎にプロセスがあがらないから』です。 ほんとにCGIの負荷によってサーバーのことが心配になるようなら、 同時に回線の方も気にした方がいいと思います。
補足
どうも、ありがとうございます。 apacheを使っていて、perlで書いてあります。 mod_perlはどういうものか分からないので調べて見ます。 通常、mod_perlは、普通にインストールして入るものなのですが? それとも、後でインストールするものなのですか? 回線の方は、レンタルサーバーを使用しているので、恐らく大丈夫だと 思っています。 よろしくお願い致します。
補足
ありがとうございます。 現在、公開中のサーバーを、違う所に移行したいと思っており、その ついでに掲示板を数十個つけようかと思っています。 今、公開している方には、1日5000位アクセスが来ているので 移行後、掲示板をたくさん追加する事によって、サーバーに負荷がかか り、遅くなるのを懸念しています。 レンタルサーバーを借りているので、rootのパスワードを知っているので そう言う意味では管理者なんですけど、管理者は管理者でも、なんせ、 apache、cgiに関して無知な管理者なもんで…"^_^" コマンドで、CPUにかかる負荷やメモリの使用量か分かって、アクセス数 から計算して、余裕か、かなり負荷がかかってるかしれたらいいなーって 思いまして…。 コマンド、計算方法知らないんですけど…。 宜しくお願いします。