私の質問は、Apache webserver 2.2.2が処理できるユーザーの最大数は何ですか?300以上の同時ユーザーを取得するWebサイトがありますが、Apacheのデフォルト設定は最大150に設定されています。この値を増やすことができます。ただし、Apacheが処理できる容量を超えて実行するのではないかと心配した場合、私のサーバーは8クワッドコアAMDプロセッサと16 GMメモリ
Apacheが処理できるリクエストの数を判断するにはどうすればよいですか?
一般に、サーバーの負荷に最適化するためのオプション/構成。つまり、キープアライブなどを無効にします。
最大ユーザーサイズを増やすと、MySqlがプロセッサ能力のほとんどを使い果たし、CPUが150%を超えることがあります。理由はわかりません。
専門家はいますか?
Apacheには最大40-100のスレッドが付属しています。これを増やして、同時に処理できるスレッドを増やすことができます。
アプリケーションを変更する前に、アプリケーションを監視する必要があります。応答に基づいて、「ThreadsPerChild」と「AcceptThreads」を適宜変更してみてください。
通常、「最大」のスレッド数はデフォルトで十分です。ただし、この数を増やす必要がある場合もあります。スレッドの使用状況を監視できます。監視するには、管理インスタンスを起動し、問題のHTTPサーバーを選択して、左下の[リアルタイムサーバー統計]を選択します。
アイドルスレッドがゼロに近いかゼロの場合、これは問題です。 Idle Threadsがゼロである限り、新しいクライアント接続は確立できません。新しいクライアントは、スレッドが使用可能になるまで待機状態になります。この条件についての推奨事項は、増加した値でディレクティブThreadsPerChildを追加することです。これは、現在の値が40〜100の範囲の場合は約2倍、100を超える場合はプラス50です。必要な最小値(最大パラメータ)は試行錯誤によってのみ見つけることができます。値を増やした後、サーバーがスムーズに動作する場合は、テストを停止してください。
( ソース )
推奨事項
サーバーのパフォーマンスを向上させるため、キープアライブを使用してください。ウェブまたはアプリの間にファイアウォールがある場合にのみ、キープアライブ設定を無効にします。または、パッケージドロップの問題/接続リセットメッセージに直面しています。
256のハードコードされた制限を超えてmaxclientsが大きくなるようにhttpd.hファイルを編集してから、httpdプログラムを再コンパイルする必要があります。これは、httpdの構成ファイルで推奨されています。
概要については、このガイドを参照してください。 http://www.devside.net/articles/Apache-performance-tuning
選択したのは主にApache MPM(スレッドベース、またはプロセスベース)とその設定です。
次に、それをキープアライブ設定と一致させる必要があります(私はスレッドベースのMPMを使用しているため、キープアライブをオンにして3秒間設定します)。
LinuxまたはWindowsでApacheを使用していますか?どのMPM?