查看Apache併發請求數及其TCP鏈接狀態

# 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可以處理的併發請求數):tcp

  Linux命令:spa

ps -ef | grep httpd | wc -l code

  返回結果示例:server

  1388blog

  表示Apache可以處理1388個併發請求,這個值Apache可根據負載狀況自動調整,我這組服務器中每臺的峯值曾達到過2002。進程

  查看Apache的併發請求數及其TCP鏈接狀態:requests

  Linux命令:it

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表示正在等待處理的請求數;ESTABLISHED表示正常數據傳輸狀態;TIME_WAIT表示處理完畢,等待超時結束的請求數。

  關於TCP狀態的變遷,能夠從下圖 形象 地看出:

  狀態:描述

  CLOSED:無鏈接是 活動 的或正在進行

  LISTEN:服務器在等待進入呼叫

  SYN_RECV:一個鏈接請求已經到達,等待確認

  SYN_SENT:應用已經開始,打開一個鏈接

  ESTABLISHED:正常數據傳輸狀態

  FIN_WAIT1:應用說它已經完成

  FIN_WAIT2:另外一邊已贊成釋放

  ITMED_WAIT:等待全部分組死掉

  CLOSING:兩邊同時嘗試關閉

  TIME_WAIT:另外一邊已初始化一個釋放

  LAST_ACK:等待全部分組死掉

相關文章
相關標籤/搜索