欧美性猛交黑人xxxx,成人毛片一区二区三区,久久综合九色综合精品,男的把j放进女人下面视频免费

linux服務(wù)器每秒并發(fā)處理數(shù)的計(jì)算方法

  • 發(fā)布于:2022-09-04
  • 270 人圍觀

1、利用網(wǎng)絡(luò)處理量計(jì)算。

計(jì)算參考公式:

并發(fā) = connection established / min(server keepalive, server timeout)

翻譯一下:

并發(fā) = 服務(wù)器傳輸鏈接數(shù) 除以 服務(wù)器軟件的keepalive設(shè)置和服務(wù)器軟件的超時(shí)設(shè)置之間的最小值

這個(gè)公式算出來(lái)的數(shù)字是keepalive時(shí)間段內(nèi)的平均值,比真實(shí)平均值要小一點(diǎn),如果想找最大值就要設(shè)定keepalive為0或1,然后多探測(cè)幾次。

connection established是服務(wù)器當(dāng)前正在傳輸?shù)逆溄樱莐eepalive打開(kāi)時(shí),新建立的傳輸鏈接會(huì)一直存在直到keepalive/timeout關(guān)閉鏈接;客戶端主動(dòng)關(guān)閉鏈接的話connection established也會(huì)關(guān)閉,不過(guò)這種鏈接一般比較少,多數(shù)瀏覽器都是支持keepalive并遵守服務(wù)器配置的。

在linux查看connection established數(shù)字的辦法是在命令行執(zhí)行:

netstat -est|grep "connections established"|cut -d "c" -f 1

keepalive和timeout數(shù)字查看辦法要查看web server軟件的配置文件

注意:這個(gè)方法只能用于最前端的服務(wù)器或7層交換機(jī),前端之后的服務(wù)器因?yàn)榫彺婊蜴溄臃绞降脑蛲遣粶?zhǔn)確的。

2、利用服務(wù)器日志計(jì)算

因?yàn)榉?wù)器每處理一個(gè)請(qǐng)求,都會(huì)在日志里留下一條信息,所以利用服務(wù)器軟件的日志來(lái)計(jì)算是最準(zhǔn)確的,但是是這種計(jì)算方式浮動(dòng)也可能會(huì)比較大,需要取最大值計(jì)算。

首先在確定服務(wù)器軟件有將所有請(qǐng)求寫入一個(gè)日志文件里,并確保該日志文件正在不停記錄。

為節(jié)省時(shí)間和服務(wù)器資源,把log文件的最后一萬(wàn)條記錄拿出來(lái)統(tǒng)計(jì),我就用nginx默認(rèn)的main格式作個(gè)例子:

執(zhí)行命令:

tail -10000 nginx.log | awk '{print $4;}' | sort | uniq -c

命令的意思是取log文件的最后一萬(wàn)條記錄,然后用awk取得日志文件中表示時(shí)間的一列($4),接著再對(duì)該列進(jìn)行一次排序,最后是用uniq把這一列相鄰的重復(fù)行合并,并計(jì)算合并的條數(shù)。

其中先sort再uniq是一種安全的做法,以確保同一秒的日志先被歸到一起,然后再合并,這樣就不會(huì)有同一秒種的日志會(huì)被切成幾段這樣的現(xiàn)象。

可以得到輸出:

23 [09/Sep/2008:20:26:02

26 [09/Sep/2008:20:26:03

17 [09/Sep/2008:20:26:04

20 [09/Sep/2008:20:26:05

...

70 [09/Sep/2008:20:29:43

61 [09/Sep/2008:20:29:44

45 [09/Sep/2008:20:29:45

37 [09/Sep/2008:20:29:46

2 [09/Sep/2008:20:29:47

在這些輸出中,第一條記錄和最后一條記錄因?yàn)闀r(shí)間有可能被切斷,所以是完全不可靠之信息,可以忽略。

如果輸出少于10行的話,要擴(kuò)大一下范圍,修改tail -10000為tail -100000取最后十萬(wàn)條數(shù)據(jù)統(tǒng)計(jì)。

如果只需要看最大值,可以再用sort命令進(jìn)行排序,并用head命令取出前10行記錄:

tail -10000 nginx.log | awk '{print $4;}' | sort | uniq -c | sort -nr | head

awk命令是一個(gè)功能比較強(qiáng)的命令,在這里只用到最簡(jiǎn)單的awk '{print $4;}',意思是將日志每行按空格切分開(kāi),然后切出來(lái)的結(jié)果依次從左到右就是$1 $2 $3 ...,nginx默認(rèn)的main日志時(shí)間字段剛好是$4,所以在這里拿$4來(lái)計(jì)算。如果是別的格式的日志,依照這個(gè)辦法去找到列數(shù):

就拿apache默認(rèn)的日志來(lái)看,首先:

head -1 apache.log

得到類似以下的輸出:

60.8.207.86 - - [09/Sep/2008:21:03:58 +0800] "GET / HTTP/1.0" 200 11141 "http://www.sudone.com" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

用awk按空格來(lái)切分開(kāi)之后,60.8.207.86就是$1,$2和$3都是-,[09/Sep/2008:21:03:58是$4,這就是需要拿出來(lái)統(tǒng)計(jì)的。嗯,怎么apache的日志和nginx的一樣的?現(xiàn)在才發(fā)現(xiàn)。

萬(wàn)企互聯(lián)
標(biāo)簽: