亚洲午夜无码久久,今天高清视频免费观看,欧美一夜爽爽爽爽爽爽,在线亚洲欧美日韩精品专区

行業(yè)資訊

  • 首頁
  • 新聞中心
  • 行業(yè)資訊

Nginx應(yīng)用案例分享:壓力測試


2020年11月17日

 在運(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)站訪問量比重較大


客服