Linux檢視連線數,併發數

2021-09-01 18:15:23 字數 2612 閱讀 6880

軟連線

ln -s /home/ictfmcg/data/photo /var/j***/data/photo

tomcat 6的connector配置如下

其中最後兩個引數意義如下:

maxthreads:tomcat起動的最大執行緒數,即同時處理的任務個數,預設值為200

acceptcount:當tomcat起動的執行緒數達到最大時,接受排隊的請求個數,預設值為100

這兩個值如何起作用,請看下面三種情況

情況1:接受乙個請求,此時tomcat起動的執行緒數沒有到達maxthreads,tomcat會起動乙個執行緒來處理此請求。

情況2:接受乙個請求,此時tomcat起動的執行緒數已經到達maxthreads,tomcat會把此請求放入等待佇列,等待空閒執行緒。

情況3:接受乙個請求,此時tomcat起動的執行緒數已經到達maxthreads,等待佇列中的請求個數也達到了acceptcount,此時tomcat會直接拒絕此次請求,返回connection refused

maxthreads如何配置

一般的伺服器操作都包括量方面:1計算(主要消耗cpu),2等待(io、資料庫等)

第一種極端情況,如果我們的操作是純粹的計算,那麼系統響應時間的主要限制就是cpu的運算能力,此時maxthreads應該盡量設的小,降低同一時間內爭搶cpu的執行緒個數,可以提高計算效率,提高系統的整體處理能力。

我在測試時遇到乙個問題,maxthreads我設定的比較大比如3000,當服務的執行緒數大到一定程度時,一般是2000出頭,單次請求的響應時間就會急劇的增加,

cpu把大多數時間都用來在這2000多個執行緒直接切換上了,當然cpu就沒有時間來處理我們的程式了。

以前一直簡單的認為多執行緒=高效率。。其實多執行緒本身並不能提高cpu效率,執行緒過多反而會降低cpu效率。

當cpu核心數《執行緒數時,cpu就需要在多個執行緒直接來回切換,以保證每個執行緒都會獲得cpu時間,即通常我們說的併發執行。

所以maxthreads的配置絕對不是越大越好。

現實應用中,我們的操作都會包含以上兩種型別(計算、等待),所以maxthreads的配置並沒有乙個最優值,一定要根據具體情況來配置。

最好的做法是:在不斷測試的基礎上,不斷調整、優化,才能得到最合理的配置。

acceptcount的配置,我一般是設定的跟maxthreads一樣大,這個值應該是主要根據應用的訪問峰值與平均值來權衡配置的。

如果設的較小,可以保證接受的請求較快相應,但是超出的請求可能就直接被拒絕

如果設的較大,可能就會出現大量的請求超時的情況,因為我們系統的處理能力是一定的。

1、檢視apache當前併發訪問數: www.2cto.com

netstat -an | grep established | wc -l

對比httpd.conf中maxclients的數字差距多少。

2、檢視有多少個程序數:

3、可以使用如下引數檢視資料

統計httpd程序數,連個請求會啟動乙個程序,使用於apache伺服器。

表示apache能夠處理1388個併發請求,這個值apache可根據負載情況自動調整。

#netstat -nat|grep -i "80"|wc -l

4341

netstat -an會列印系統當前網路鏈結狀態,而grep -i "80"是用來提取與80埠有關的連線的,wc -l進行連線數統計。 www.2cto.com

最終返回的數字就是當前所有80埠的請求總數。

#netstat -na|grep established|wc -l

376netstat -an會列印系統當前網路鏈結狀態,而grep established 提取出已建立連線的資訊。 然後wc -l統計。

最終返回的數字就是當前所有80埠的已建立連線的總數。

netstat -nat||grep established|wc

- 可檢視所有建立連線的詳細記錄

檢視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表示處理完畢,等待超時結束的請求數。(這個引數還不太懂,為啥是等待超時結束,請大神指教)

Linux檢視連線數,併發數

1 檢視apache當前併發訪問數 www.2cto.com netstat an grep established wc l 對比httpd.conf中maxclients的數字差距多少。2 檢視有多少個程序數 3 可以使用如下引數檢視資料 統計httpd程序數,連個請求會啟動乙個程序,使用於ap...

linux併發連線數檢視

1 檢視webserver nginx apache 的併發請求數及其tcp連線狀態 netstat n awk tcp end netstat n grep tcp awk sort nr uniq c 或者 netstat n awk tcp end 返回結果一般例如以下 last ack 5 ...

檢視併發連線數

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表示正常...