九款Web服務器性能壓力測試工具

1、http_load

程序很是小,解壓後也不到100K
http_load以並行複用的方式運行,用以測試web服務器的吞吐量與負載。
可是它不一樣於大多數壓力測試工具,它能夠以一個單一的進程運行,通常不會把客戶機搞死。
還能夠測試HTTPS類的網站請求。
下載地址:http_load-12mar2006.tar.gz
安裝很簡單

#tar zxvf http_load-12mar2006.tar.gz
#cd http_load-12mar2006
#make && make install

基本用法:

http_load  -p 併發訪問進程數  -s 訪問時間  須要訪問的URL文件

參數其實能夠自由組合,參數之間的選擇並無什麼限制。
好比你寫成http_load  -parallel  5  -seconds  300  urllist.txt也是能夠的。
咱們把參數給你們簡單說明一下。
-parallel   簡寫-p :含義是併發的用戶進程數。
-fetches   簡寫-f :含義是總計的訪問次數
-rate        簡寫-p :含義是每秒的訪問頻率
-seconds 簡寫-s :含義是總計的訪問時間

準備URL文件:urllist.txt,文件格式是每行一個URL,URL最好超過50-100個測試效果比較好。
文件格式以下:

http://www.qixing318.com/
http://www.qixing318.com/blog/
http://www.qixing318.com/signin/
http://www.qixing318.com/signup/
http://www.qixing318.com/article/a-quick-look-at-the-redis-source-code.html
http://www.qixing318.com/article/how-the-browser-end-encryption.html
http://www.qixing318.com/article/jquery-form-validation-plug-in-validate.js-the-basic-usage.html
http://www.qixing318.com/article/use-flash-plugin-swfupload-head-is-upload-the-screenshot-in-two-ways.html
http://www.qixing318.com/article/should-make-your-site-using-html5.html
http://www.qixing318.com/article/simple-to-understand-linux-memory-allocation-mechanism.html
http://www.qixing318.com/article/organize-the-sphinx-api-based-on-php.html
http://www.qixing318.com/article/jquery-1-9-removed-browser-method-alternatives.html
http://www.qixing318.com/article/the-installation-of-fedora-under-chinese-search-sphinx-configuration.html
http://www.qixing318.com/article/schema-org-tag-was-used-to-optimize-web-pages.html
http://www.qixing318.com/article/jquery-reference-manual-tutorials-and-tools.html
http://www.qixing318.com/article/falling-in-love-with-bike-30-reasons.html
http://www.qixing318.com/article/online-test-tools-browserstack-cross-browser-compatibility.html
http://www.qixing318.com/article/talk-about-javascript-image-preloading-technology.html
http://www.qixing318.com/article/brokeback-mountain.html
http://www.qixing318.com/article/sql-index-caused-performance-issues.html
http://www.qixing318.com/article/use-python-scapy-reporter.html
http://www.qixing318.com/article/a-python-web-attack-script.html


例如:

http_load -p 30 -s 60  urllist.txt

參數瞭解了,咱們來看運行一條命令來看看它的返回結果以下:

結果分析:

一、294 fetches, 30 max parallel, 3.83835e+06 bytes, in 60.0026 seconds
說明在上面的測試中運行了294個請求,最大的併發進程數是30,總計傳輸的數據是3.83835e+06bytes,運行的時間是60.0026秒
二、13055.6 mean bytes/connection
說明每一鏈接平均傳輸的數據量3.83835e+06/294=13055.6
三、4.89979 fetches/sec, 63969.7 bytes/sec
說明每秒的響應請求爲4.89979,每秒傳遞的數據爲63969.7 bytes/sec
四、msecs/connect: 312.009 mean, 1319.57 max, 209.994 min
說明每鏈接的平均響應時間是312.009 msecs,最大的響應時間1319.57 msecs,最小的響應時間209.994 msecs
五、msecs/first-response: 1191.01 mean, 10212.4 max, 220.78 min
六、HTTP response codes:
    code 200  –  127
    code 502  –  166
說明打開響應頁面的類型
若是403的類型過多,那可能要注意是否系統遇到了瓶頸。
特殊說明:
測試結果中主要的指標是 fetches/sec、msecs/connect 這個選項,即服務器每秒可以響應的查詢次數。
用這個指標來衡量性能。彷佛比 apache的ab準確率要高一些,也更有說服力一些。
Qpt-每秒響應用戶數和response time,每鏈接響應用戶時間。
測試的結果主要也是看這兩個值。
固然僅有這兩個指標並不能完成對性能的分析,咱們還須要對服務器的cpu、men進行分析,才能得出結論。
2、webbench

webbench是Linux下的一個網站壓力測試工具,最多能夠模擬3萬個併發鏈接去測試網站的負載能力。
下載地址能夠到google搜,我這裏給出一個
下載地址:http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz
這個程序更小,解壓後不到50K,呵呵
安裝很是簡單

#tar zxvf webbench-1.5.tar.gz
#cd webbench-1.5
#make && make install

會在當前目錄生成webbench可執行文件,直接可使用了
用法:webbench -c 併發數 -t 運行測試時間 URL
例如:

#webbench -c 1000 -t 130 http://www.qixing318.com

3、apache bench(主要是用來測試apache的)

ab是apache自帶的一款功能強大的測試工具。
安裝了apache通常就自帶了。
用法能夠查看它的說明

#./ab

參數衆多,通常咱們用到的是-n 和-c
例如:

#webbench -c 1000 -t 130 http://www.qixing318.com/index.php

這個表示同時處理1000個請求並運行130次index.php文件。
4、Siege

一款開源的壓力測試工具,能夠根據配置對一個WEB站點進行多用戶的併發訪問,記錄每一個用戶全部請求過程的相應時間,並在必定數量的併發訪問下重複進行。

Siege官方:http://www.joedog.org/

Siege下載:http://www.joedog.org/pub/siege/siege-latest.tar.gz

Siege解壓並安裝:

# tar -zxvf siege-latest.tar.gz
# cd siege-latest/
#./configure
#make
#make install

Siege使用:

#siege -c 100 -r 10 -f site.url

-c是併發量,-r是重複次數。
url文件就是一個文本,每行都是一個url,它會從裏面隨機訪問的。

site.url內容:

http://www.qixing318.com/
http://www.zendsns.com/
http://www.qixing.info/

測試結果:

結果說明:

Transactions: 550 hits //完成550次處理
Availability: 55.00 % //55.00 % 成功率
Elapsed time: 31.32 secs //總共用時
Data transferred: 1.15 MB //共數據傳輸1.15 MB
Response time: 3.04 secs //顯示網絡鏈接的速度
Transaction rate: 17.56 trans/sec //均每秒完成 17.56 次處理:表示服務器後
Throughput: 0.04 MB/sec //平均每秒傳送數據
Concurrency: 53.44 //實際最高併發數
Successful transactions: 433 //成功處理次數
Failed transactions: 450 //失敗處理次數
Longest transaction: 15.50 //每次傳輸所花最長時間
Shortest transaction: 0.42 //每次傳輸所花最短期
5、LoadRunner

老牌壓力測試工具,LoadRunner是一種預測系統行爲和性能的負載測試工具,經過模擬實際用戶的操做行爲進行實時性能監測,來幫助測試人員更快的查找和發現問題。LoadRunner適用於各類體系架構,能支持普遍的協議和技術,爲測試提供特殊的解決方案。企業經過LoadRunner能最大限度地縮短測試時間,優化性能並加速應用系統的發佈週期。

LoadRunner提供了3大主要功能模塊:
* VirtualUser Generator(用於錄製性能測試腳本),
LoadRunner Analysis(用於分析性能測試結果)既能夠做爲獨立的工具完成各自的功能,又能夠做爲LoadRunner的一部分彼此銜接,與其餘模塊共同完成軟件性能的總體測試。
詳見:《性能測試入門——LoadRunner使用初探》(http://www.admin5.com/article/20161114/695706.shtml)
LoadRunner官網:https://saas.hpe.com/zh-cn/software/loadrunner
6、JMeter

JMeter做爲一款廣爲流傳的開源分佈式壓測產品,能自動生成圖形報告。最初被設計用於Web應用測試,現在JMeter能夠用於測試靜態和動態資源,例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫、FTP服務器等等,還能對服務器、網絡或對象模擬巨大的負載,經過不一樣壓力類別測試它們的強度和分析總體性能。另外,JMeter可以對應用程序作功能測試和迴歸測試,經過建立帶有斷言的腳原本驗證你的程序返回了你指望的結果。爲了最大限度的靈活性,JMeter容許使用正則表達式建立斷言。

JMeter的特色包括對HTTP、FTP服務器、數據庫進行壓力測試和性能測試;徹底的可移植性;徹底 Swing和輕量組件支持包;徹底多線程;緩存和離線分析/回放測試結果;可連接的取樣器;具備提供動態輸入到測試的功能;支持腳本編程的取樣器等。在設計階段,JMeter可以充當HTTP PROXY(代理)來記錄瀏覽器的HTTP請求,也能夠記錄Apache等WebServer的log文件來重現HTTP流量,並在測試運行時以此爲依據設置重複次數和併發度(線程數)來進行壓測。
參考文章:《雲智慧壓測實戰分享之JMeter工具使用初探》(https://segmentfault.com/a/1190000007922515)
官網連接:http://jmeter.apache.org
7、Tsung

Tsung is an open-source multi-protocol distributed load testing tool
It can be used to stress HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP, MQTT and Jabber/XMPP servers. Tsung is a free software released under the GPLv2 license.
Tsung是一個開源的支持多協議的分佈式壓力測試工具
目前支持HTTP分佈式壓力測試、WebDAV分佈式壓力測試、SOAP分佈式壓力測試、PostgreSQL分佈式壓力測試、MySQL分佈式壓力測試、LDAP分佈式壓力測試、MQTT分佈式壓力測試、Jabber/XMPP servers分佈式壓力測試
8、locust.io

An open source load testing tool.
Define user behaviour with Python code, and swarm your system with millions of simultaneous users.
http://locust.io/
python編寫,用python腳本定義壓測規則,分佈式,有WEB UI界面,推薦使用
9、阿里雲PTS

阿里雲性能測試(Performance Testing)是一個SaaS性能測試平臺,具備強大的分佈式壓測能力,可模擬海量用戶真實的業務場景,讓應用性能問題無所遁形。PTS平臺特點包括提供壓測機,無需安裝軟件;腳本場景監控簡單化,省時、省力;分佈式併發壓測,施壓能力無上限;快速大規模集羣擴容、支持幾十萬用戶及百萬級TPS性能壓測;80%以上用戶基本不須要花費額外的成本
---------------------
做者:兩頁書
來源:CSDN
原文:https://blog.csdn.net/qq_33440246/article/details/80591070
版權聲明:本文爲博主原創文章,轉載請附上博文連接!javascript

相關文章
相關標籤/搜索