1. 程式人生 > >檢視Apache併發請求數及其TCP連線狀態

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

 這兩天搭建了一組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命令:
引用 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表示正在等待處理的請求數;ESTABLISHED表示正常資料傳輸狀態;TIME_WAIT表示處理完畢,等待超時結束的請求數。

  關於TCP狀態的變遷,可以從下圖形象地看出:
點選在新視窗中瀏覽此圖片
  狀態:描述
  CLOSED:無連線是活動的或正在進行
  LISTEN:伺服器在等待進入呼叫
  SYN_RECV:一個連線請求已經到達,等待確認
  SYN_SENT:應用已經開始,開啟一個連線
  ESTABLISHED:正常資料傳輸狀態
  FIN_WAIT1:應用說它已經完成
  FIN_WAIT2:另一邊已同意釋放

  ITMED_WAIT:等待所有分組死掉
  CLOSING:兩邊同時嘗試關閉
  TIME_WAIT:另一邊已初始化一個釋放
  LAST_ACK:等待所有分組死掉

相關推薦

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

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

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

如何合理設定apache httpd的最大連線數? 手頭有一個網站線上人數增多,訪問時很慢。初步認為是伺服器資源不足了,但經反覆測試,一旦連線上,不斷點選同一個頁面上不同的連結,都能迅速開啟,這種現象就是說明apache最大連線數已經滿了,新的訪客只能排隊等待有空閒的連結,而如果一旦連線上,在keeyali

CentOS6.8檢視nginx併發連線TCP連線狀態命令

荊軻刺秦王 1.檢視nginx執行程序數 [[email protected] ~]# ps -ef|grep nginx |wc -l 6 檢視httpd程序數 [[email 

Centos6.5檢視nginx併發連線TCP連線狀態命令

1、檢視nginx執行程序數 [[email protected] logs]# ps -ef | grep nginx | wc -l 10 2、檢視Web伺服器程序連線數 [[email protected] logs]# netstat -antp

Apache的工作模式和最大併發請求設定

什麼是apache的工作模式? 個人理解:apache的工作模式就是apache在執行時候的記憶體分配,程序和執行緒的使用方式。舉個例子:一臺apache正在執行的伺服器,如果有個使用者訪問這個apache,那麼apache是啟用一個程序來處理使用者的請求呢?還是在已有的

TCP連線狀態圖解析

TCP狀態圖,展示的是TCP從連線建立到連線關閉的整個生命週期,TCP的狀態轉換以及處理流程。TCP面向的是埠,Linux裡面可以通過netstat -a命令檢視連線狀態。筆者遇到Tomcat生成大CLOSE_WAIT狀態的連線問題,故想了解一下TCP的連線機制。 TCP狀態圖縱覽

python下socket程式設計之TCP連線狀態

1. 引言 python作為一門膠水語言,可以在各個領域上作為快速開發的工具,大大提高開發者處理事務的效率。在網際網路行業中,不管是對網路伺服器的開發,還是對網路客戶端,例如爬蟲的開發中,都會涉及到底層的執行原理,那就是socket程式設計,那麼今天,我們將對python下的socke

TCP連線狀態管理

TCP協議連線初始化後的狀態管理和切換由tcp_rcv_sate_preocess函式完成,tcp_v4_recevie函式收到資料包後檢視TCP協議頭,區分是隻含純傳送負載資料還是包含控制資訊SYN、FIN、RST、ACK等的資料包。各種狀態的資料包處理過程大部分在tcp_rcv_state_pr

TCP連線狀態詳解及TIME_WAIT過多的解決方法

上圖對排除和定位網路或系統故障時大有幫助,但是怎樣牢牢地將這張圖刻在腦中呢?那麼你就一定要對這張圖的每一個狀態,及轉換的過程有深刻地認識,不能只停留在一知半解之中。下面對這張圖的11種狀態詳細解釋一下,以便加強記憶!不過在這之前,先回顧一下TCP建立連線的三次握手過程

通訊系統經驗談TCP連線狀態分析:SYNC_RECV,CLOSE_WAIT,TIME_WAIT

面試時看到應聘者簡歷中寫精通網路,TCP程式設計,我常問一個問題,TCP建立連線需要幾次握手?95%以上的應聘者都能答對是3次。問TCP斷開連線需要幾次握手,70%的應聘者能答對是4次通訊。再問CLOSE_WAIT,TIME_WAIT是什麼狀態,怎麼產生的,對服

如何檢視Web伺服器併發請求連線

1、檢視Web伺服器(Nginx Apache)的併發請求數及其TCP連線狀態: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' netstat -n|grep  ^tcp|a

centOS伺服器 netstat命令 檢視TCP連線資訊

netstat命令的功能是顯示網路連線、路由表和網路介面的資訊,可以讓使用者得知有哪些網路連線正在運作。在日常工作中,我們最常用的也就兩個引數,即netstat –an,如下所示: [[email protected] ~]# netstat -an Active Inter

【 Linux 】單臺伺服器上併發TCP連線(轉)

單臺伺服器上併發TCP連線數    問題:一臺伺服器到底能夠支援多少TCP併發連線呢?1. 檔案描述符限制:    對於伺服器來說,每一個TCP連線都要佔用一個檔案描述符,一旦檔案描述符使用完,新的連線到來返回給我們的錯誤是"Socket/File:

socket跟TCP/IP 的關係,單臺伺服器上的併發TCP連線可以有多少

常識一:檔案控制代碼限制 在linux下編寫網路伺服器程式的朋友肯定都知道每一個tcp連線都要佔一個檔案描述符,一旦這個檔案描述符使用完了,新的連線到來返回給我們的錯誤是“Socket/File:Can'topen so many files”。 這時你需要明白作業系統對可以開啟的最大檔案數

高效能網路程式設計(一):單臺伺服器併發TCP連線到底可以有多少

前言 曾幾何時我們還在尋求網路程式設計中C10K問題(有關C10K問題請見文章《The C10K problem(英文線上閱讀、英文PDF版下載、中文譯文)》)的解決方案,但是現在從硬體和作業系統支援來看單臺伺服器支援上萬併發連線已經沒有多少挑戰性了。 我們先假設單臺伺服器最多隻能支援萬級併發連線,其實

高效能網路程式設計(一):單臺伺服器併發TCP連線到底可以有多少?

引言 曾幾何時我們還在尋求網路程式設計中C10K問題(有關C10K問題請見文章《The C10K problem(英文線上閱讀、英文PDF版下載、中文譯文)》)的解決方案,但是現在從硬體和作業系統支援來看單臺伺服器支援上萬併發連線已經沒有多少挑戰性了。我們先假設單臺伺服

【效能優化】檢視tomcat 併發連線

檢視tomcat併發連線數有兩個方式:方式1:通過tomcat自帶的管理控制檯檢視:啟動tomcat後,在瀏覽器輸入:http://11.8.130.129:8080/manager/statustomcat7以後需要賬號登入,配置賬號需要進入tomcat目錄下的conf路徑

Linux下檢視Apache和tomcat的請求

在Linux下檢視Apache的負載情況,最簡單有有效的方式就是檢視Apache Server Status,在沒有開啟Apache Server Status的情況下,或安裝的是其他的Web Server,比如Nginx的時候,下面的命令就體現出作用了。 ps -ef

單臺伺服器上的併發TCP連線可以有多少

曾幾何時我們還在尋求網路程式設計中C10K問題的解決方案,但是現在從硬體和作業系統支援來看單臺伺服器支援上萬併發連線已經沒有多少挑戰性了。我們先假設單臺伺服器最多隻能支援萬級併發連線,其實對絕大多數應用來說已經遠遠足夠了,但是對於一些擁有很大使用者基數的網際網路公司,往往

Apache最大連線/apache併發修改方法

Apache的最大連線數,預設為256個。 修改apache的最大連線數,方法如下: 步驟一 先修改 /path/apache/conf/httpd.conf檔案。  程式碼如下 複製程式碼 # vi httpd.conf 將“#Include conf/ex