Apache パフォーマンスの最適化 (4)
以下は prefork のデフォルト設定セクションです:
StartServers 5 //
MinSpareServers 5 //アイドルプロセスの最小数が設定されます。
MaxSpareServers 10 //アイドル プロセスの最大数を設定します。アイドル プロセスの数がこの値より大きい場合、Apache は一部の冗長プロセスを自動的に強制終了します。この値を大きすぎないように設定してください。ただし、値が MinSpareServers より小さい場合、Apache は自動的に MinSpareServers+1 に調整します。サイトの負荷が重い場合は、MinSpareServers と MaxSpareServers を同時に増やすことを検討してください。
MaxClients 150 // MaxClients は、これらの命令の中で最も重要であり、Apache が同時に処理できるリクエストを設定し、Apache のパフォーマンスに最も大きな影響を与えるパラメータです。デフォルト値の 150 では十分ではありません。リクエストの総数がこの値に達すると (ps -ef|grep http|wc -l で確認できます)、後続のリクエストは処理されたリクエストが完了するまでキューに入れられます。 。これが、システム リソースがたくさん残っているにもかかわらず、HTTP アクセスが非常に遅い主な理由です。システム管理者は、ハードウェア構成と負荷条件に基づいてこの値を動的に調整できます。理論的には、この値が大きいほど処理できるリクエストは多くなりますが、Apache のデフォルト制限は 256 を超えることはできません (2.0 の #define DEFAULT_SERVER_LIMIT 256 から派生)。この値が 256 より大きい値に設定されている場合、Apache は起動しません。実際、負荷が少し重いサイトでは 256 では十分ではありません。 Apache 1.3 では、これはハード制限です。この値を増やしたい場合は、「configure」の前に手動で変更したソース コード ツリーの下の src/include/httpd.h で 256 を検索する必要があります。行「#define HARD_SERVER_LIMIT 256」が見つかります。 256 を増やしたい値 (4000 など) に変更し、Apache を再コンパイルします。 ServerLimit ディレクティブが Apache 2.0 に新たに追加されたため、Apache を再コンパイルせずに MaxClients を増やすことができます。 ServerLimit を使用する場合は、ここに別の行を追加するだけです。 ServerLimit の値がここで定義されている 20000 を超える場合は、server/mpm/prefork/prefork.c #define MAX_SERVER_LIMIT 20000 を変更する必要があります。 20000 をより大きな値に変更します。
MaxRequestsPerChild 0 //各子プロセスが処理できるリクエストの数を設定します。各子プロセスは、「MaxRequestsPerChild」リクエストの処理後に自動的に破棄されます。 0 は無限、つまり子プロセスが決して破棄されないことを意味します。デフォルト設定の 0 では、各子プロセスがより多くのリクエストを処理できますが、ゼロ以外の値に設定すると、2 つの重要な利点もあります。それは、偶発的なメモリ リークを防ぐことができ、サーバーの負荷が減少したときに子プロセスの数を自動的に減らすことができます。 。 番号。
Worker の動作原理は、メイン制御プロセスが「StartServers」サブプロセスを生成し、固定数の ThreadsPerChild スレッドを含み、各スレッドがリクエストを独立して処理することです。同様に、リクエストが届いたときにスレッドを生成しないようにするためです。
各プロセスが持つことができるスレッドの数は固定されています。 サーバーは負荷状況に基づいてプロセス数を増減するように調整します。単一の制御プロセスが子プロセスの確立を担当します。各子プロセスは、ThreadsPerChild で指定された固定数のスレッドを作成できます。 次に、別のスレッドが受信接続をリッスンして処理します。
Apache は常に、スペアまたはアイドル状態のサービス スレッド プールを維持しようとします。 このように、クライアントは、スレッドまたはプロセスが処理される前に、スレッドまたはプロセスが確立されるのを待つ必要がありません。 最初に作成されるプロセスの数は、StartServers ディレクティブによって決まります。 その後、Apache はすべてのプロセスのアイドル状態のスレッドの合計数を検出し、合計数が MinSpareThreads と MaxSpareThreads で指定された範囲内に収まるようにプロセスを作成または終了します。 このプロセスは自己調整であるため、これらの命令のデフォルト値を変更する必要はほとんどありません。 同時に処理できるクライアントの最大数は MaxClients ディレクティブに依存し、確立されるプロセスの最大数は ServerLimit ディレクティブに依存します。 ServerLimit に ThreadsPerChild を乗算した値は、MaxClients 以上である必要があります。
上記は Apache パフォーマンスの最適化 (4) の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ApacheでCGIディレクトリを設定するには、次の手順を実行する必要があります。「CGI-Bin」などのCGIディレクトリを作成し、Apacheの書き込み許可を付与します。 Apache構成ファイルに「Scriptalias」ディレクティブブロックを追加して、CGIディレクトリを「/cgi-bin」URLにマッピングします。 Apacheを再起動します。

Apacheを開始する手順は次のとおりです。Apache(コマンド:sudo apt-get install apache2または公式Webサイトからダウンロード)をインストールします(linux:linux:sudo systemctl start apache2; windows:apache2.4 "serviceを右クリックして「開始」を右クリック) (オプション、Linux:Sudo SystemCtl

この記事では、DebianシステムのOpenSSL構成を確認して、システムのセキュリティステータスをすばやく把握できるように、いくつかの方法を紹介します。 1.最初にOpenSSLバージョンを確認し、OpenSSLがインストールされているかどうかを確認し、バージョン情報を確認します。端末に次のコマンドを入力します。OpenSSlversionがインストールされていない場合、システムはエラーを促します。 2。構成ファイルを表示します。 OpenSSLのメイン構成ファイルは、通常/etc/ssl/openssl.cnfにあります。テキストエディター(Nanoなど)を使用して、次のように表示できます。sudonano/etc/ssl/openssl.cnfこのファイルには、キー、証明書、暗号化アルゴリズムなどの重要な構成情報が含まれています。 3。OPEを利用します

Apacheから追加のservernameディレクティブを削除するには、次の手順を実行できます。追加のservernameディレクティブを識別して削除します。 Apacheを再起動して変更を有効にします。構成ファイルを確認して、変更を確認します。サーバーをテストして、問題が解決されていることを確認します。

この記事では、Debianシステムの下でApacheログを分析することにより、Webサイトのパフォーマンスを改善する方法について説明します。 1.ログ分析の基本Apacheログは、IPアドレス、タイムスタンプ、リクエストURL、HTTPメソッド、応答コードなど、すべてのHTTP要求の詳細情報を記録します。 Debian Systemsでは、これらのログは通常、/var/log/apache2/access.logおよび/var/log/apache2/error.logディレクトリにあります。ログ構造を理解することは、効果的な分析の最初のステップです。 2。ログ分析ツールさまざまなツールを使用してApacheログを分析できます。コマンドラインツール:GREP、AWK、SED、およびその他のコマンドラインツール。

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

Apacheサーバーでバージョンを表示するには3つの方法があります。コマンドライン(Apachectl -vまたはapache2ctl -v)を介して、サーバーステータスページ(http://< server ipまたはdomain name>/server -status)を確認します。

Apache 80ポートが占有されている場合、ソリューションは次のとおりです。ポートを占有するプロセスを見つけて閉じます。ファイアウォールの設定を確認して、Apacheがブロックされていないことを確認してください。上記の方法が機能しない場合は、Apacheを再構成して別のポートを使用してください。 Apacheサービスを再起動します。
