知識庫
最近公司新建了個網站,昨天Web服務器搭建完成,準備上線推廣。我們知道公司上線8年的主網站目前遇到最大并發是10.2w的訪問量。不知道新網站它能夠承載多大的訪問量,響應速度和容錯能力等性能指標是否滿足要求,所有這些都是我最想知道,也最為擔心的。如何才能知曉ddos攻擊能不能防御呢?試了幾款服務器壓力測試工具。
Web服務器壓力測試測試:http://www.bxgb88.com/dedicated/hk.html
通過工具可以有效地測試Web服務器的運行狀態和響應時間等性能指標,從而解決上述問題。下面以Web Application Stress Tool(簡稱WAST)為例,介紹如何進行Web壓力測試。這是由微軟的網站測試人員開發的專門用來進行實際網站壓力測試的一套工具。
大部分的測試工具比較簡單,下載并安裝然后在對目標Web服務器進行壓力測試之前,首先要對它進行一些必要的設置就好了。下面互聯數據給大家介紹的8款Web服務器性能壓力測試工具。
1、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.bxgb88.com
2、apache bench(主要是用來測試apache的),ab是apache自帶的一款功能強大的測試工具。安裝了apache一般就自帶了。用法可以查看它的說明
#./ab,參數眾多,一般我們用到的是-n 和-c
例如:
#webbench -c 1000 -t 130 http://www.qixing318.com/index.php。這個表示同時處理1000個請求并運行130次index.php文件。
3、Siege:一款開源的壓力測試工具,可以根據配置對一個WEB站點進行多用戶的并發訪問,記錄每個用戶所有請求過程的相應時間,并在一定數量的并發訪問下重復進行。
Siege官方:http://www.joedog.org/ Siege下載:http://www.joedog.org/pub/siege/siege-latest.tar.gz
Siege解壓并安裝:-c是并發量,-r是重復次數。url文件就是一個文本,每行都是一個url,它會從里面隨機訪問的。
4、LoadRunner
老牌壓力測試工具,LoadRunner是一種預測系統行為和性能的負載測試工具,通過模擬實際用戶的操作行為進行實時性能監測,來幫助測試人員更快的查找和發現問題。LoadRunner適用于各種體系架構,能支持廣泛的協議和技術,為測試提供特殊的解決方案。企業通過LoadRunner能最大限度地縮短測試時間,優化性能并加速應用系統的發布周期。
LoadRunner提供了3大主要功能模塊:* VirtualUser Generator(用于錄制性能測試腳本),
LoadRunner Analysis(用于分析性能測試結果)既可以作為獨立的工具完成各自的功能,又可以作為LoadRunner的一部分彼此銜接,與其他模塊共同完成軟件性能的整體測試。
5、JMeter
JMeter作為一款廣為流傳的開源分布式壓測產品,能自動生成圖形報告。最初被設計用于Web應用測試,如今JMeter可以用于測試靜態和動態資源,例如靜態文件、Java 小服務程序、CGI 腳本、Java 對象、數據庫、FTP服務器等等,還能對服務器、網絡或對象模擬巨大的負載,通過不同壓力類別測試它們的強度和分析整體性能。另外,JMeter能夠對應用程序做功能測試和回歸測試,通過創建帶有斷言的腳本來驗證你的程序返回了你期望的結果。為了最大限度的靈活性,JMeter允許使用正則表達式創建斷言。
6、Tsung:是一個開源的多協議分布式負載測試工具,它可以用來強調http、webdav、soap、postgresql、mysql、ldap、mqtt a
目前支持HTTP分布式壓力測試、WebDAV分布式壓力測試、SOAP分布式壓力測試、PostgreSQL分布式壓力測試、MySQL分布式壓力測試、LDAP分布式壓力測試、MQTT分布式壓力測試、Jabber/XMPP servers分布式壓力測試
7、locust.io:一個開源的負載測試工具。用python代碼定義用戶行為,并用數以百萬計的