-
互聯(lián)網(wǎng)安全法,互聯(lián)網(wǎng)凈網(wǎng)行動(dòng)
-
”凈網(wǎng)2020”落實(shí)好維護(hù)網(wǎng)絡(luò)安全責(zé)任
-
關(guān)于端午節(jié)放假通知-宇眾網(wǎng)絡(luò)
-
宇眾網(wǎng)絡(luò)春節(jié)放假通知
-
關(guān)于公司收款銀行賬戶變更通知函-宇眾網(wǎng)絡(luò)
-
關(guān)于網(wǎng)上有人冒充我公司名義進(jìn)行詐騙的公告。
-
關(guān)于端午節(jié)放假通知,節(jié)日放假,但是我們業(yè)務(wù)不“放假”-宇眾網(wǎng)絡(luò)
-
工信部進(jìn)一步加強(qiáng)未備案網(wǎng)站管理工作的通知-宇眾網(wǎng)絡(luò)
-
關(guān)于東莞市宇眾網(wǎng)絡(luò)科技有限公司香港數(shù)據(jù)中心(香港機(jī)房)路由優(yōu)化通知
-
宇眾網(wǎng)絡(luò)慶祝五·一勞動(dòng)節(jié)快樂
-
東莞東城機(jī)房網(wǎng)絡(luò)升級通知
-
臨近過年,互聯(lián)網(wǎng)IDC貴圈也有被騙的,請認(rèn)準(zhǔn)宇眾網(wǎng)絡(luò)公司官方聯(lián)系方式
-
我司已獲得ISP/ICP/IDC三證資格,更好的為客戶服務(wù)
-
關(guān)于浙江金華高防機(jī)房網(wǎng)絡(luò)線路切割通知
-
工信部近日下發(fā)關(guān)于進(jìn)一步規(guī)范域名備案工作的通知
行業(yè)資訊
- 首頁
- 新聞中心
- 行業(yè)資訊
Nginx應(yīng)用案例分享:壓力測試
在運(yùn)維工作中,壓力測試是一項(xiàng)非常重要的工作。比如在一個(gè)網(wǎng)站上線之前,能承受多大訪問量、在大訪問量情況下性能怎樣,這些數(shù)據(jù)指標(biāo)好壞將會(huì)直接影響用戶體驗(yàn)。
但是,在壓力測試中存在一個(gè)共性,那就是壓力測試的結(jié)果與實(shí)際負(fù)載結(jié)果不會(huì)完全相同,就算壓力測試工作做的再好,也不能保證100%和線上性能指標(biāo)相同。面對這些問題,我們只能盡量去想方設(shè)法去模擬。所以,壓力測試非常有必要,有了這些數(shù)據(jù),我們就能對自己做維護(hù)的平臺(tái)做到心中有數(shù)。
目前較為常見的網(wǎng)站壓力測試工具有webbench、ab(apache bench)、tcpcopy、loadrunner
軟件名稱簡介優(yōu)缺點(diǎn)
webbench由Lionbridge公司開發(fā),主要測試每秒鐘請求數(shù)和每秒鐘數(shù)據(jù)傳輸量,同時(shí)支持靜態(tài)、動(dòng)態(tài)、SSL
部署簡單,靜動(dòng)態(tài)均可測試。適用于小型網(wǎng)站壓力測試(單例最多可模擬3萬并發(fā))
ab(apache bench)Apache自帶的壓力測試工具,主要功能用于測試網(wǎng)站每秒鐘處理請求個(gè)數(shù)
多見用于靜態(tài)壓力測試,功能較弱,非專業(yè)壓力測試工具
tcpcopy基于底層應(yīng)用請求復(fù)制,可轉(zhuǎn)發(fā)各種在線請求到測試服務(wù)器,具有分布式壓力測試功能,所測試數(shù)據(jù)與實(shí)際生產(chǎn)數(shù)據(jù)較為接近后起之秀,主要用于中大型壓力測試,所有基于 tcp的packets均可測試
loadrunner壓力測試界的泰斗,可以創(chuàng)建虛擬用戶,可以模擬用戶真實(shí)訪問流程從而錄制成腳本,其測試結(jié)果也最為逼真模擬最為逼真,并可進(jìn)行獨(dú)立的單元測試,但是部署配置較為復(fù)雜,需要專業(yè)人員才可以。
下面,筆者就以webbench為例,來講解一下網(wǎng)站在上線之前壓力測試是如何做的。
安裝webbench
#wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz
#tar zxvf webbench-1.5.tar.gz
#cd webbench-1.5
#make && make install
進(jìn)行壓力測試
并發(fā)200時(shí)
# webbench -c 200 -t 60 http://blog.luwenju.com/index.php
參數(shù)解釋:-c為并發(fā)數(shù),-t為時(shí)間(秒)
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://blog.luwenju.com/index.php
200 clients, running 60 sec.
Speed=1454 pages/min, 2153340 bytes/sec.
Requests: 1454 susceed, 0 failed.
當(dāng)并發(fā)200時(shí),網(wǎng)站訪問速度正常
并發(fā)800時(shí)
#webbench -c 800 -t 60 http://blog.luwenju.com/index.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://blog.luwenju.com/index.php
800 clients, running 60 sec.
Speed=1194 pages/min, 2057881 bytes/sec.
Requests: 1185 susceed, 9 failed.
當(dāng)并發(fā)連接為800時(shí),網(wǎng)站訪問速度稍慢
并發(fā)1600時(shí)
#webbench -c 1600 -t 60 http://blog.luwenju.com/index.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://blog.luwenju.com/index.php
1600 clients, running 60 sec.
Speed=1256 pages/min, 1983506 bytes/sec.
Requests: 1183 susceed, 73 failed.
當(dāng)并發(fā)連接為1600時(shí),網(wǎng)站訪問速度便非常慢了
并發(fā)2000時(shí)
#webbench -c 2000 -t 60 http://blog.luwenju.com/index.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://blog.luwenju.com/index.php
2000 clients, running 60 sec.
Speed=2154 pages/min, 1968292 bytes/sec.
Requests: 2076 susceed, 78 failed.
當(dāng)并發(fā)2000時(shí),網(wǎng)站便出現(xiàn)“502 Bad Gateway”,由此可見web服務(wù)器已無法再處理用戶訪問請求
總結(jié):
1、壓力測試工作應(yīng)該放到產(chǎn)品上線之前,而不是上線以后
2、測試時(shí)盡量跨公網(wǎng)進(jìn)行,而不是內(nèi)網(wǎng)
3、測試時(shí)并發(fā)應(yīng)當(dāng)由小逐漸加大,比如并發(fā)100時(shí)觀察一下網(wǎng)站負(fù)載是多少、打開是否流程,并發(fā)200時(shí)又是多少、網(wǎng)站打開緩慢時(shí)并發(fā)是多少、網(wǎng)站打不開時(shí)并發(fā)又是多少
4、 應(yīng)盡量進(jìn)行單元測試,如B2C網(wǎng)站可以著重測試購物車、推廣頁面等,因?yàn)檫@些頁面占整個(gè)網(wǎng)站訪問量比重較大