檢視Apache併發請求數及其TCP連線狀態

2021-06-16 04:16:31 字數 1570 閱讀 6954

這兩天搭建了一組apache伺服器,每台伺服器4g記憶體,採用的是prefork模式,一開始設定的連線數太少了,需要較長的時間去響應使用者的請求,後來修改了一下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程序數(即prefork模式下apache能夠處理的併發請求數):

linux命令: 引用

返回結果示例:

1388

表示apache能夠處理1388個併發請求,這個值apache可根據負載情況自動調整,我這組伺服器中每台的峰值曾達到過2002。

檢視apache的併發請求數及其tcp連線狀態:

linux命令: 引用

netstat -n | awk '/^tcp/ end '

返回結果示例:

last_ack 5

syn_recv 30

established 1597

fin_wait1 51

fin_wait2 504

time_wait 1057

其中的syn_recv表示正在等待處理的請求數;established表示正常資料傳輸狀態;time_wait表示處理完畢,等待超時結束的請求數。

關於tcp狀態的變遷,可以從下圖形象地看出:

狀態:描述

closed:無連線是活動的或正在進行

listen:伺服器在等待進入呼叫

syn_recv:乙個連線請求已經到達,等待確認

syn_sent:應用已經開始,開啟乙個連線

established:正常資料傳輸狀態

fin_wait1:應用說它已經完成

fin_wait2:另一邊已同意釋放

itmed_wait:等待所有分組死掉

closing:兩邊同時嘗試關閉

time_wait:另一邊已初始化乙個釋放

last_ack:等待所有分組死掉

檢視Apache併發請求數及其TCP連線狀態

prefork mpm startservers number of server processes to start minspareservers minimum number of server processes which are kept spare maxspareservers m...

檢視Apache併發請求數及其TCP連線狀態

這兩天搭建了一組apache伺服器,每台伺服器4g記憶體,採用的是prefork模式,一開始設定的連線數太少了,需要較長的時間去響應使用者的請求,後來修改了一下apache 2.0.59的配置檔案httpd.conf 引用 prefork mpm startservers number of ser...

檢視Apache併發請求數及其TCP連線狀態

這兩天搭建了一組apache伺服器,每台伺服器4g記憶體,採用的是prefork模式,一開始設定的連線數太少了,需要較長的時間去響應使用者的請求,後來修改了一下apache 2.0.59的配置檔案httpd.conf prefork mpm startservers number of server...