web-dev-qa-db-ja.com

Apacheは何人のユーザーを処理できますか?

静的サイトと8GB RAMサーバーがあります。サイトにはJavaScriptと静的コンテンツがいくつかあります。約20,000の同時訪問者を処理する必要があります。8GBサーバーはこれを処理できますか?誰かがこれのためにApacheMaxClientsと他の設定を構成する方法を説明しますか?

1
Sam Alex

十分な帯域幅にお金がある場合は、サーブスタティックにnginxを配置するだけです(jsはスタティックファイルです)。

2G RAM + sataディスクデスクトップで多数を提供できるため、サーバーハードウェアで動作する必要があります。

もちろん、静的コンテンツを提供するためだけに、mpmプリフォークでphp + Apache2を使用しないでください...またはRAM will問題になります(およびI/O、およびコンテキストの切り替え、待機時間、...など)

ああ、静的コンテンツサーバーとして、できる限りすべてのキャッシュヘッダーを追加します。物事がキャッシュされている場合、毎秒20.000の新しいリクエストを受け取るとは思えません...または1日で、すべての惑星と宇宙の一部があなたのサイトを見ました。

6
poisonbit

単一のサーバーがあまりにも多くの接続に対応できないことが心配な場合は、VarnishのようなWebキャッシュの使用を検討する必要があります。これにより、画像や静的コンテンツを提供する際の負荷が軽減されます。

1台のサーバーに何人のユーザーなどがいるかを実際にテストする唯一の方法は、サーバーで実行しているものに完全に依存します。たとえば、CPUまたはメモリの多くをかみ砕いてページを提供するPHPスクリプトを作成できます。これは、1分あたり最大数百ページのサービスでうまく機能する可能性があります。適切に作成された最適化されたサイトがある場合、1分あたり数千(平均)ページをサーバーできることがわかるかもしれません。Varnishは間違いなくWebサーバーから基本的なロード要求の一部を取り除きます。nginxは別の優れたWebサーバーですが、 Apacheと同じくらい多くのベルとホイッスルがありますが、一般的なコンセンサスは、非常に高速で、実行内容が十分に最適化されており、使用するリソースが少ないというものです。

3
Daryl

すべてのファイルが「現状のまま」で静的であれば、RAMが問題になることはありません。あなたの帯域幅は本当に重要なものです。 20,000の同時実行では、これらのファイルを送信するために大量の接続が必要になります。

1
JClaspill
  • Apache2mpmワーカーエンジンを使用します。
  • 不要なモジュールを無効にします。
  • 他のボトルネック(ファイアウォール、カーネルネットワーク設定)を確認します

大衆が利用できるようにする前に、十分な帯域幅があることを確認し、セットアップをテスト、テスト、テストします。

1