首先 、用top命令查看
成都創(chuàng)新互聯(lián)公司專注于威海網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供威海營(yíng)銷型網(wǎng)站建設(shè),威海網(wǎng)站制作、威海網(wǎng)頁設(shè)計(jì)、威海網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造威海網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供威海網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
top - 16:15:05 up 6 days, 6:25, 2 users, load average: 1.45, 1.77, 2.14
Tasks: 147 total, 1 running, 146 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2% us, 0.2% sy, 0.0% ni, 86.9% id, 12.6% wa, 0.0% hi, 0.0% si
Mem: 4037872k total, 4003648k used, 34224k free, 5512k buffers
Swap: 7164948k total, 629192k used, 6535756k free, 3511184k cached
查看12.6% wa
IO等待所占用的CPU時(shí)間的百分比,高過30%時(shí)IO壓力高
其次、 用iostat -x 1 10
avg-cpu: %user %nice %sys %iowait %idle
0.00 0.00 0.25 33.46 66.29
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 1122 17.00 9.00 192.00 9216.00 96.00 4608.00 123.79 137.23 1033.43 13.17 100.10
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
查看%util 100.10 %idle 66.29
如果 %util 接近 100%,說明產(chǎn)生的I/O請(qǐng)求太多,I/O系統(tǒng)已經(jīng)滿負(fù)荷,該磁盤可能存在瓶頸。
idle小于70% IO壓力就較大了,一般讀取速度有較多的wait.
同時(shí)可以結(jié)合vmstat 查看查看b參數(shù)(等待資源的進(jìn)程數(shù))
vmstat -1
如果你想對(duì)硬盤做一個(gè)IO負(fù)荷的壓力測(cè)試可以用如下命令
time dd if=/dev/zero bs=1M count=2048 of=direct_2G
此命令為在當(dāng)前目錄下新建一個(gè)2G的文件
我們?cè)谛陆ㄎ募A的同時(shí)來測(cè)試IO的負(fù)荷情況
查看httpd進(jìn)程數(shù):Linux命令: ps -ef grep httpd wc -l返回結(jié)果示例:1388表示服務(wù)器能夠處理1388個(gè)并發(fā)請(qǐng)求,這個(gè)值服務(wù)器可根據(jù)負(fù)載情況自動(dòng)調(diào)整。 查看服務(wù)器的并發(fā)請(qǐng)求數(shù)及其TCP連接狀態(tài): Linux命令: netstat -n awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'返回結(jié)果示例: LAST_ACK 5 SYN_RECV 30 ESTABLISHED 1597 FIN_WAIT1 51 FIN_WAIT2 504 TIME_WAIT 1057其中的SYN_RECV表示正在等待處理的請(qǐng)求數(shù);ESTABLISHED表示正常數(shù)據(jù)傳輸狀態(tài);TIME_WAIT表示處理完畢,等待超時(shí)結(jié)束的請(qǐng)求數(shù)。
方法/步驟 1 打開Apache服務(wù)器的安裝路徑,在bin目錄中有一個(gè)ab.exe的可執(zhí)行程序,就是我們要介紹的壓力測(cè)試工具。 2 在Windows系統(tǒng)的命令行下,進(jìn)入ab.exe程序所在目錄,執(zhí)行ab.exe程序。注意直接雙擊無法正確運(yùn)行。 3 執(zhí)行ab命令成功后,可以看到如圖提示。該幫助很清楚詳細(xì)的介紹了ab的用法以及各個(gè)參數(shù)的含義。 ab 的用法是:ab [options] [http://]hostname[:port]/path 例如:ab -n 5000 -c 200 上例表示總共訪問這個(gè)腳本5000次,200并發(fā)同時(shí)執(zhí)行。 ab常用參數(shù)的介紹: -n :總共的請(qǐng)求執(zhí)行數(shù),缺省是1; -c: 并發(fā)數(shù),缺省是1; -t:測(cè)試所進(jìn)行的總時(shí)間,秒為單位,缺省50000s -p:POST時(shí)的數(shù)據(jù)文件 -w: 以HTML表的格式輸出結(jié)果 4 執(zhí)行測(cè)試用例:ab -n 1000 -c 100 -w c:\1.html 上面的測(cè)試用例表示100并發(fā)的情況下,共測(cè)試訪問index.php腳本1000次,并將測(cè)試結(jié)果保存到c:\1.html文件中。 5 測(cè)試報(bào)告如圖,可知在該100并發(fā)訪問的情況下,共測(cè)試訪問1000次,失敗了852次??芍撃_本在此環(huán)境無法滿足100并發(fā)訪問的要求。
介紹個(gè)http_load壓力測(cè)試工具,http_load,類似的工具還有webbench、ab、Siege。
1、下載
官方網(wǎng)站:
復(fù)制代碼
代碼如下:
cd /root
wget
tar xzf http_load-12mar2006.tar.gz
2、安裝
復(fù)制代碼
代碼如下:
cd http_load-12mar2006
make
執(zhí)行完make,會(huì)在當(dāng)前目錄生成一個(gè)http_load二進(jìn)制文件。
3、使用方法
復(fù)制代碼
代碼如下:
root@www:~/http_load-12mar2006# ./http_load --help
usage: ./http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]
-parallel N | -rate N [-jitter]
-fetches N | -seconds N
url_file
One start specifier, either -parallel or -rate, is required.
One end specifier, either -fetches or -seconds, is required.
主要參數(shù)說明:
-parallel 簡(jiǎn)寫-p :含義是并發(fā)的用戶進(jìn)程數(shù)。
-rate 簡(jiǎn)寫-r :含義是每秒的訪問頻率
-fetches 簡(jiǎn)寫-f :含義是總計(jì)的訪問次數(shù)
-seconds簡(jiǎn)寫-s :含義是總計(jì)的訪問時(shí)間
選擇參數(shù)時(shí),-parallel和-rate選其中一個(gè),-fetches和-seconds選其中一個(gè)。
示例:
http_load -parallel 50 -s 10 urls.txt
這段命令行是同時(shí)使用50個(gè)進(jìn)程,隨機(jī)訪問urls.txt中的網(wǎng)址列表,總共訪問10秒。
http_load -rate 50 -f 5000 urls.txt
每秒請(qǐng)求50次,總共請(qǐng)求5000次停止。
4、基本的返回值
(1).49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
說明在上面的測(cè)試中運(yùn)行了49個(gè)請(qǐng)求,最大的并發(fā)進(jìn)程數(shù)是2,總計(jì)傳輸?shù)臄?shù)據(jù)是289884bytes,運(yùn)行的時(shí)間是10.0148秒
(2).5916 mean bytes/connection
說明每一連接平均傳輸?shù)臄?shù)據(jù)量289884/49=5916
(3).4.89274 fetches/sec, 28945.5 bytes/sec
說明每秒的響應(yīng)請(qǐng)求為4.89274,每秒傳遞的數(shù)據(jù)為28945.5 bytes/sec
(4).msecs/connect: 28.8932 mean, 44.243 max, 24.488 min
說明每連接的平均響應(yīng)時(shí)間是28.8932 msecs,最大的響應(yīng)時(shí)間44.243 msecs,最小的響應(yīng)時(shí)間24.488 msecs
(5).msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
(6).HTTP response codes: code 200 -- 49
說明打開響應(yīng)頁面的類型,如果403的類型過多,那可能要注意是否系統(tǒng)遇到了瓶頸。
特殊說明:這里,我們一般會(huì)關(guān)注到的指標(biāo)是fetches/sec、msecs/connect
他們分別對(duì)應(yīng)的常用性能指標(biāo)參數(shù)Qpt-每秒響應(yīng)用戶數(shù)和response time,每連接響應(yīng)用戶時(shí)間。測(cè)試的結(jié)果主要也是看這兩個(gè)值。當(dāng)然僅有這兩個(gè)指標(biāo)并不能完成對(duì)性能的分析,我們還需要對(duì)服務(wù)器的cpu、men進(jìn)行分析,才能得出結(jié)論
5、如果你需要測(cè)試https,你必須將 Makefile中
復(fù)制代碼
代碼如下:
# CONFIGURE: If you want to compile in support for https, uncomment these
# definitions. You will need to have already built OpenSSL, available at
# a href="";/a Make sure the SSL_TREE definition points to the
# tree with your OpenSSL installation - depending on how you installed it,
# it may be in /usr/local instead of /usr/local/ssl.
SSL_TREE = /usr
SSL_DEFS = -DUSE_SSL
SSL_INC = -I$(SSL_TREE)/include
SSL_LIBS = -L$(SSL_TREE)/lib -lssl -lcrypto
由于使用到openssl,你必須安裝openssl和相應(yīng)的開發(fā)環(huán)境
復(fù)制代碼
代碼如下:
apt-get install openssl
apt-get install libssl-dev/p pfind -name ssl.h
/usr/include/openssl/ssl.h