久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

利用autobench測(cè)試web服務(wù)器極限并發(fā)數(shù)

 HiLinz 2010-11-19

一、目的

利用autobench工具結(jié)合httperf命令對(duì)web服務(wù)器進(jìn)行測(cè)試,,得出該服務(wù)器可以承載的最大并發(fā)連接數(shù)與最佳并發(fā)數(shù),。

二、測(cè)試工具

工具介紹

1,、Httperf

httperf 是一款高性能的HTTP測(cè)試工具,,使用它我們可以準(zhǔn)確定位服務(wù)器的并發(fā)連接能力,。下面介紹一下它的主要特征

(1) 可以觀察測(cè)試客戶端(并非被測(cè)服務(wù)器)在發(fā)起壓力測(cè)試時(shí)的負(fù)載情況。這樣在測(cè)試高并發(fā)的情況下可以準(zhǔn)確的分析問(wèn)題,。(被測(cè)服務(wù)器無(wú)法承載高并發(fā)還是測(cè)試客戶端無(wú)法發(fā)起過(guò)多請(qǐng)求)
(2)支持HTTP/1.1和SSL
(3)可以生成可擴(kuò)展的測(cè)試計(jì)劃

下載http://code.google.com/p/httperf/downloads/list

安裝
# tar xvzf httperf-0.9.0.tar.gz
# cd httperf-0.9.0
#./configure
# make && make install

更多的使用方法參見man page,。

2、autobench

autobench 是一款基于httperf的Perl腳本,。它會(huì)在一次測(cè)試中調(diào)用多次httperf來(lái)對(duì)web服務(wù)器進(jìn)行測(cè)試,,每次會(huì)按照給定的參數(shù)增加并發(fā)連接數(shù),將 httperf的測(cè)試結(jié)果保存為CSV格式的文件,,該文件可以被Excel直接讀取,,方便生成測(cè)試報(bào)告。借助于autobench自帶的 bench2graph工具可以生成漂亮的測(cè)試結(jié)果對(duì)比圖,,如下:

results.gif

下載:http://www./autobench/downloads/

安裝

# yum install gd gnuplot pcre pcre-devel texinfo -y
# tar zxvf autobench-2.1.2.tar.gz
# cd autobench-2.1.2
# make && make install
# sed -i 's/postscript color/png xffffff/g' /usr/local/bin/bench2graph (修改bench2graph腳本,,否則生成的圖像背景有問(wèn)題)

使用方法:參見下文在實(shí)際測(cè)試中的使用

三、測(cè)試環(huán)境

系統(tǒng)環(huán)境
CentOS 5.3 64bit

web軟件環(huán)境
httpd-2.0.6
php5.2.6+ eAccelerator
php-fpm  開啟20個(gè)php-cgi進(jìn)程
nginx-0.7.67

在測(cè)服務(wù)器并發(fā)能力時(shí)會(huì)將apache與nginx對(duì)比測(cè)試

硬件環(huán)境

CPU::E5504  2.00GHz
內(nèi)存:1G
虛擬機(jī)環(huán)境

四,、測(cè)試方法

1、  分別測(cè)試靜態(tài)文件和動(dòng)態(tài)php文件
2,、  靜態(tài)并發(fā)數(shù)從50開始,,1500結(jié)束,增長(zhǎng)幅度為50,,動(dòng)態(tài)5~100,增幅為5
3,、  分別測(cè)試apache和nginx的并發(fā)能力,,二者進(jìn)行對(duì)比
4、  每次測(cè)試進(jìn)行3次,,最終結(jié)果求三次平均值
5,、  每進(jìn)行一次測(cè)試后均重啟httpd或nginx(php-fpm)服務(wù),,釋放內(nèi)存后再進(jìn)行下一輪測(cè)試
6、  為了減少磁盤IO,,均關(guān)掉了訪問(wèn)日志

1,、開始測(cè)試

(1)靜態(tài)文件

測(cè)試命令

# autobench --single_host --host1=192.168.8.8 --port1=80 --uri1=/logo.gif  --quiet  --low_rate=50 --high_rate=1500 --rate_step=50 --num_call=1 --num_conn=2000 --timeout=10 --file /tmp/result.tsv

測(cè)試結(jié)果對(duì)比分析
static.png

測(cè)試結(jié)果總結(jié):

Apache與Nginx在并發(fā)50~1500時(shí)表現(xiàn)得都還可以,只不過(guò)在并發(fā)數(shù)達(dá)到1500后Apache的響應(yīng)時(shí)間變得很長(zhǎng),,由于系統(tǒng)環(huán)境的制 約,,我沒(méi)有再測(cè)試大于1500的并發(fā)連接情況,但可以對(duì)比看出nginx在1500個(gè)并發(fā)連接的情況下還能保持較低的響應(yīng)時(shí)間,。

(2)動(dòng)態(tài)文件

測(cè)試命令

# autobench --single_host --host1=192.168.8.8 --port1=80 --uri1=/test.php --quiet --low_rate=5 --high_rate=100 --rate_step=5 --num_call=1 --num_conn=200 --timeout=10 --file /tmp/nginx_php1.tsv

測(cè)試結(jié)果數(shù)據(jù)

并發(fā)連接數(shù) nginx實(shí)際并發(fā)數(shù) apache實(shí)際并發(fā)數(shù) nginx應(yīng)答時(shí)間 apache應(yīng)答時(shí)間
5.0 5.0 5.0 36.0 36.3
10.0 10.0 10.0 33.0 31.7
15.0 15.0 15.0 35.6 31.9
20.0 19.9 19.9 36.8 32.3
25.0 25.0 25.0 42.6 36.2
30.0 29.8 29.7 45.1 67.6
35.0 34.3 32.4 115.5 248.5
40.0 35.5 34.9 396.8 427.3
45.0 35.3 33.4 699.0 865.8
50.0 35.7 30.5 962.3 1394.0
55.0 35.5 33.3 1103.9 1354.7
60.0 35.7 32.9 1269.2 1471.3
65.0 34.9 33.5 1445.8 1573.6
70.0 37.6 29.7 1458.0 2049.5
75.0 37.2 35.9 1610.1 1496.8
80.0 23.9 31.2 1588.2 1993.3
85.0 24.7 33.2 1674.9 1880.2
90.0 37.1 34.5 1838.6 1946.0
95.0 35.0 30.3 2027.4 2387.2
100.0 35.3 36.4 1996.3 1904.5

測(cè)試數(shù)據(jù)

測(cè)試結(jié)果對(duì)比圖
total_php-2.png

測(cè)試總結(jié)

由上面的報(bào)表以及這張曲線圖可以看出,,無(wú)論是apache還是nginx其php并發(fā)大于30其響應(yīng)時(shí)間的就會(huì)直線上升,nginx略好于 apache,,因此可以判斷這臺(tái)服務(wù)器的php并發(fā)極限在30左右,,當(dāng)然這里指的php連接中是沒(méi)有連接數(shù)據(jù)庫(kù)的,也沒(méi)有加入memcached等緩存機(jī) 制,。

(3)高并發(fā)下系統(tǒng)資源情況

CPU使用情況對(duì)比
cpu.png


內(nèi)存使用情況對(duì)比

memory.png

系統(tǒng)負(fù)載對(duì)比
load.png

分析測(cè)試結(jié)果

CPU使用情況
在極限并發(fā)的情況下apache和nginx都占用很多CPU資源,,這也是情理之中的事          情。nginx略好于apache平均占用90%而apache則在95%左右

內(nèi)存使用情況
在內(nèi)存對(duì)比中可以清楚的看到,,nginx在極限并發(fā)的情況下內(nèi)存控制得很好,,到達(dá)一定程度后就不在變化了,而apache則會(huì)直線上升

負(fù)載情況
負(fù)載情況與內(nèi)存情況類似,,如果高并發(fā)時(shí)間很長(zhǎng)的話apache服務(wù)器絕對(duì)會(huì)掛掉,!nginx的負(fù)載也很高,但一直保持在10以下,,這也和內(nèi)存占用有關(guān),。

五、結(jié)論

利用httperf結(jié)合autobench可以很方便的測(cè)試出單臺(tái)服務(wù)器的極限并發(fā)數(shù),,這樣對(duì)服務(wù)器性能評(píng)估有很大幫助,,借助于autobench的bench2graph腳本可以生成更為直觀的對(duì)比圖。

針對(duì)被測(cè)服務(wù)器,,經(jīng)過(guò)apache與nginx的對(duì)比發(fā)現(xiàn),,在靜態(tài)文件的處理方面如果并發(fā)小于1500,apache和nginx之間的差距還是很 小的,。在動(dòng)態(tài)php文件的并發(fā)測(cè)試中,,nginx體現(xiàn)出其強(qiáng)大的性能優(yōu)勢(shì),如果內(nèi)存足夠大,,通過(guò)調(diào)整php-cgi數(shù)量,,相信可以承載更多的并發(fā)連接。

六,、附錄

1,、問(wèn)題解決

(1)當(dāng)運(yùn)行時(shí)報(bào)如下錯(cuò)誤

httperf: warning: open file limit > FD_SETSIZE; limiting max. # of open files to FD_SETSIZE

解決方法

其意思是說(shuō)在httperf在發(fā)起連接請(qǐng)求時(shí),單個(gè)進(jìn)程已經(jīng)無(wú)法再打開更多的文件描述符,。在發(fā)起連接請(qǐng)求時(shí)httperf使用select()方法使用一個(gè)新的文件描述符,。因此需要增加文件描述符限制

步驟1:編輯/etc/security/limits.conf 在最后添加下面兩行內(nèi)容
*       hard    nofile          102400
*       soft    nofile          102400

步驟2:編輯 /usr/include/bits/typesizes.h 文件修改__FD_SET_SIZE常量值,如下
#define __FD_SETSIZE            1024
修改為
#define __FD_SETSIZE            102400

步驟3:重新編譯httperf

2,、參考文章

http://www./qiujian5628/archive/2008/03/10/44060.html
http://wiki./
http://www./2008/02/28/apache-vs-nginx-web-server-performance-deathmatch/

原創(chuàng)文章,,轉(zhuǎn)載請(qǐng)注明: 轉(zhuǎn)自 http://

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多