提到測試都會知道的幾個工具:LoadRunner, JMeter, Apache ab ...
1 協議測試網站 protocoltesting,提供兩個可參考的列表:
網絡包/流量生產工具 http://www.protocoltesting.com/trgen.html
協議設計與驗證工具 http://www.protocoltesting.com/designtools.html
2 開源測試網站 opensourcetesting,提供一個性能測試工具列表,目前約有52個:
性能測試工具 http://www.opensourcetesting.org/performance.php
3 列舉幾個 oschina 收錄的開源性能測試或相關工具:
- benchbase http://www.oschina.net/p/benchbase
benchbase 是一個項目用來存儲和管理 JMeter 或者 FunkLoad 壓力測試結果和監控日志。提供詳細的報表和圖表。
- 性能測試工具 CBenchmark http://www.oschina.net/p/cbenchmark
CBenchmark—-CharlesCui’s Benchmark
這是我實現的一款性能測試工具,之前在工作中常用LoadRunner之類的工具來完成性能測試,但受限于LR極其昂貴的Lisence以及難以定制的SDK,于是我用C/C++實現了這個工具,并借助Linux系統對線程和進程的良好調度,可以實現極高的并發壓力.
特點|Feature
本程序和當前性能測試解決方案相比,
可以實現極高的定制化:開放所有API,用戶可以基于這些API實現自己的性能測試工具.
無限制:本產品完全免費,不會像現有成熟解決方案一樣基于并發數,或者基于使用協議的Lisense限制。
高性能高并發:可提供比現有產品高出很多的并發能力,本程序使用C語言實現所有的代碼。
通用性:由于本產品測試用例的業務實現是由客戶完成,所以本產品的作用不限于某種測試協議,所以本產品是一個通用的性能測試工具.
執行過程可控:測試執行過程中用戶可以通過Ctrl+C來控制本產品的執行。
特有的測試用例加載模式:對測試用例加載的模式和市面上的性能測試產品都不一樣,用戶可以將CBenchmark當做第三方庫編碼進入測試代碼,也可以將CBenchmark當做工具,在執行的時候動態加載測試代碼以產生壓力.
本產品理論支持所有的服務端性能測試。
對于非標準協議的性能測試,我推薦您使用本產品。
- 性能和負載測試工具 Faban http://www.oschina.net/p/faban
Faban 是Sun Microsystems 用純粹的Java 1.5+ 編寫的,而且在CDDL-1.0 許可下是開源的。Faban 似乎只關心各種類型服務器的基準調教,包括Web 服務器。Faban 是為高性能和緊湊調速而精心編寫的,因此任何測量都與服務器的真實性能盡可能接近。例如,在沒有運行其他Faban 代碼時收集基準調速數據,而只在基準調校過程締結之后才分析數據。要想獲得最好的性能,則這是所有基準運行的慣用方法。
Faban 還以Web 應用程序的形式提供了非常良好的配置與管理平臺。為了服務于該控制平臺(Web應用程序),Faban自身現已整合到了Tomcat 的服務器中。Tomcat 是Faban 的一部分,任何對Tomcat 和基準調校都感興趣的Java 開發者都能閱讀Faban 的文檔和源碼,而且可選擇性地參與Faban 的開發。如果您是一位Java 開發者,且正尋找最有特色、長期的調校解決方案,Faban 應該是您要用到的工具。
相關鏈接
項目主頁:http://java.net/projects/faban/
項目文檔:http://www.opensparc.net/sunsource/faban/www/index.html
Faban Quick Start Tutorial:http://www.testnscale.com/docs/QuickStartTutorial.html
- TCP協議測試工具 tcpjunk http://www.oschina.net/p/tcpjunk
tcpjunk是一個工具,用于測試TCP協議的產生和模糊的網絡流量。
- 性能分析工具 DTrace http://www.oschina.net/p/dtrace
DTrace,也稱為動態跟蹤,是由 Sun? 開發的一個用來在生產和試驗性生產系統上找出系統瓶頸的工具。 在任何情況下它都不是一個調試工具, 而是一個實時系統分析尋找出性能及其他問題的工具。
DTrace 是個特別好的分析工具,帶有大量的幫助診斷系統問題的特性。 還可以使用預先寫好的腳本利用它的功能。 用戶也可以通過使用 DTrace D 語言創建他們自己定制的分析工具, 以滿足特定的需求。
4 還有一個很特別的工具: tcpcopy http://code.google.com/p/tcpcopy/
an online request replication tool, fit for online testing, stress testing, performance evaluation,etc
tcpcopy是一種請求復制(所有基于tcp的packets)工具,其應用領域較廣,我們曾經應用于
網易的廣告投放系統,urs系統,nginx hmux協議等系統,避免了上線帶來的很多問題。
我們即將應用tcpcopy于membase替換現有mecached系統的任務中。由于membase還不夠
成熟,不適合直接上線,利用tcpcopy程序,可以把訪問memcached的系統流量復制一份到
membase系統中去。對于membase來說,這份流量就是訪問membase的,跟直接上線
membase效果一樣,就可以做各種試驗,查看membase的各種特性。
tcpcopy六大功能:
1)分布式壓力測試工具,利用在線數據,可以測試系統能夠承受的壓力大小(遠比ab壓力測
試工具真實地多),也可以提前發現一些bug
2)如果后端的連接是短連接并且請求體不大,請求丟失率一般都非常低(1/10萬),可以應用于熱備份
3)普通上線測試,可以發現新系統是否穩定,提前發現上線過程中會出現的諸多問題,讓開
發者有信心上線
4)對比試驗,同樣請求,針對不同或不同版本程序,可以做性能對比等試驗
5)利用級聯tcpcopy,構造無限在線壓力,滿足中小網站壓力測試要求
6)實戰演習(架構師必備)
特點:
1)實時
2)效果真實
3)低負載,不影響在線