- 締切済み
サーバスペックに合わせた適切な同時アクセス数
こんばんは。 サーバの同時アクセス数について悩んでいます。 CPU:Pentium4 2.8GHz Mem:1GB のサーバマシンに対し、35万PV/日が想定されるとします。 設置するプログラムは単純な申込みフォーム(項目10くらい)として どの程度の同時接続数に耐える事が出来るものでしょうか。 フォームの内容はDBに書き込まれます。 または、Apacheの同時接続数をどのくらいに設定するのが適切なの でしょうか。 WWWサーバとDBサーバを分け2台で対応する構成と、 WWWサーバにDBも構築し1台で対応する構成を考えています。 今、仕事でサーバについて勉強中ですが、いまいちこの感覚が つかめません。厳密な計算手法は確立されているとは聞いているのですが、それでもネットワークやDBアクセス時のシーク時間やもろもろ かんがえると厳密な回答は難しいのでしょうか? 実績値としては35万PV程度であれば1台でも対応可能というのはわかっているのですが、お客さんがどうしても同時接続数をしりたがっていて回答に困っています。 どなたかアドバイスいただければと思います。 宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
こんなものに本当に運用上有効な“厳密な計算方法”があったら、 すごい発明だと思います(^^; 使用するアプリケーションの構造、 データーベースやWebサーバーの設定によって、 ものすごく影響を受けるところですね。 たとえば、mod_perl+Apache::DBIのような、 永続プロセス+永続データーベースコネクションというような設計だと、 相当なパフォーマンスが出せますし、同時最大接続数も設定しやすいです。 また、そういった工夫をしないで作ってしまうと、 パフォーマンスもそれなり、で。。。 とりあえず・・・おおよその概算方法としては、 アプリケーションが1回のリクエストの処理にかかる時間(秒)と、 見込まれる毎秒あたりのリクエスト数を掛ければ、 同時接続数が見積もれます。 システム側を気にしすぎるあまりに同時接続数を絞りすぎてしまうと、 万が一、予想以上にアクセスが集中したときに、非常に見苦しいことになるので・・・ Apache自体の設定は最大にしておいて、 アプリケーション側で同時処理数を制限してキューイングしたり、 リアルタイム性が必要なければ、CGI(?)側の処理を最小限にして、データーベース側処理をバッチ化した利など、 という方法もあると思います。
お礼
大変ありがとうございました。 1年かかりましたが、いろいろ勉強して何となくおっしゃられていることがわかるようになりました。 これからも精進します。