性能測試工具較多,無法一一進行介紹,感興趣者可自行搜索資料學習。需要說明的是工具使用方法和原理都大同小異,掌握一個,其他皆可快速上手。
下面就以服務端的性能測試工具為例,對市場上最常用,知名度較高,也是比較優秀的兩款性能測試工具Jmeter和LR(LoadRunner)做個說明和比對
對比項 |
JMeter |
LoadRunner |
架構原理 |
通過中間代理,監控和收集並發客戶端的指令,把他們生成腳本,再發送的應用服務器,再監控應用服務器反饋的過程 |
同JMeter |
安裝 |
簡單,解壓即可 |
復雜,LoadRunner安裝包大於1GB,安裝時間較長,工具本身相對比較笨重 |
錄制/回放 |
提供了一個利用本地ProxyServer(代理服務器)來錄制生成測試腳本的功能,也支持badboy錄制再生成JMeter腳本 |
自帶錄制功能強大,可直接錄制回放 |
測試協議 |
支持多種協議:HTTP、HTTPS、SOAP、FTP、Database via JDBC、JMS等,但相對LR還是不夠全面,由於此原因相對來說jemter比較靈活,輕便。支持用戶自行擴展 |
支持的協議非常多,比較全面,但正因此顯得工具本身比較笨重,不夠靈活。不支持用戶自行 |
分布式測試 |
支持,可設置多台代理,通過遠程控制實現多台機器並發壓力 |
同JMeter |
IP欺騙功能 |
不支持 |
支持 |
網速模擬 |
不支持 |
支持 |
圖形報表 |
支持(較弱) |
支持(很強) |
測試邏輯控制 |
支持 |
支持 |
監控服務資源(CPU、內存) |
通過JMeterPlugins插件和ServerAgent實現 |
自帶資源監控功能 |
功能測試 |
支持 |
不支持 |
測試成本 |
免費開源 |
商業收費(費用很高) |
學習成本 |
主要是自學官網上的資料 |
網上資料和相關培訓很多,購買正版的話,還有技術支持 |
以上對比可以看出,LR功能相對更強大,同時收費且成本相對較高,更適合不差錢的大公司使用。Jmeter具備性能測試所需要的所有功能,開源軟件,且通過Apache社區的不斷完善,正在逐漸追趕,更適合中小公司使用。
實際情況中,測試人員可根據公司的具體情況選擇對應的工具,當然不僅僅局限於LR和Jmeter。各個工具都有自己的優勢,選擇時以合適和可行性為准