ホームページ  >  記事  >  バックエンド開発  >  同時 Apache リクエストの数とその TCP 接続ステータスを表示する

同時 Apache リクエストの数とその TCP 接続ステータスを表示する

伊谢尔伦
伊谢尔伦オリジナル
2016-11-25 15:18:021522ブラウズ

過去 2 日間で、一連の Apache サーバーを構築しました。各サーバーには 4G メモリがあり、最初に設定された接続数が少なすぎて、後でユーザーのリクエストに応答するのに時間がかかりました。 , Apache 2.0 .59 設定ファイル httpd.conf を変更しました:

# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
StartServers         10
MinSpareServers      10
MaxSpareServers      15
ServerLimit          2000
MaxClients           2000
MaxRequestsPerChild  10000

httpd プロセスの数 (つまり、Apache がプリフォーク モードで処理できる同時リクエストの数) を表示します:
Linux コマンド:

ps -ef | grep httpd | wc -l

戻り結果の例:
1388
は、Apache が 1388 個の同時リクエストを処理できることを意味します。この値は、Apache が負荷に応じて自動的に調整できます。グループ内の各サーバーのピーク値は 2002 に達しました。

Apacheの同時リクエスト数とそのTCP接続ステータスを表示します:
Linuxコマンド:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

戻り結果の例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
SYN_RECV は待機中であることを示します処理されたリクエストの数は、通常のデータ送信ステータスを示します。TIME_WAIT は、処理され、タイムアウトが終了するのを待っているリクエストの数を示します。

ステータス: 説明
CLOSED: アクティブまたは進行中の接続はありません
LISTEN: サーバーは着信を待機しています
SYN_RECV: 接続リクエストが到着し、確認を待機しています
SYN_SENT: アプリケーションが開始され、接続をオープンしています
ESTABLISHED: 通常のデータ送信ステータス
FIN_WAIT1: アプリケーションは完了したと言っています
FIN_WAIT2: 相手側が解放に同意しました
ITMED_WAIT: すべてのパケットが終了するのを待っています
CLOSING: 両側が同時にクローズしようとしています
TIME_WAIT : 相手側がリリースを初期化しました
LAST_ACK: すべてのパケットが終了するのを待っています

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。