【测试】性能测试及性能测试工具JMeter
性能測試簡介
軟件系統(tǒng)的性能包括很多方面,有執(zhí)行效率,資源占用,系統(tǒng)穩(wěn)定性,安全性,兼容性,可靠性,可擴(kuò)展性等。這些都是可以衡量一個(gè)軟件系統(tǒng)性能好壞的指標(biāo)。而性能測試是指通過自動(dòng)化測試工具去模擬多種正常,峰值及異常負(fù)載條件來對系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試。與功能測試相比,性能測試有更高的技術(shù)復(fù)雜性。
性能測試方法和目的
通過模擬生產(chǎn)運(yùn)行的業(yè)務(wù)壓力量和使用場景組合,測試系統(tǒng)的性能是否滿足生產(chǎn)性能要求。驗(yàn)證系統(tǒng)所具有的能力。
性能測試分類
1.負(fù)載測試(Load test)
通過在被測試系統(tǒng)上不斷施加壓力,直到系統(tǒng)性能指標(biāo)達(dá)到極限。找到系統(tǒng)處理能力的極限。
2.壓力測試
測試系統(tǒng)在一定飽和狀態(tài)下,系統(tǒng)能夠快速處理的會(huì)話能力,以及系統(tǒng)是否會(huì)出現(xiàn)錯(cuò)誤。檢查系統(tǒng)處于壓力下系統(tǒng)應(yīng)用的表現(xiàn)。
3.并發(fā)測試
通過模擬多用戶并發(fā)訪問,測試多用戶并發(fā)訪問同一個(gè)系統(tǒng)應(yīng)用模塊或者數(shù)據(jù)記錄時(shí)是否存在死鎖或者其他性能問題。可以發(fā)現(xiàn)系統(tǒng)中可能隱藏的的并發(fā)訪問時(shí)會(huì)出現(xiàn)的問題,比如訂單號重復(fù),數(shù)據(jù)錯(cuò)誤等等。
4.配置測試
通過對被測試系統(tǒng)的軟硬件環(huán)境的調(diào)整,了解各種不同對系統(tǒng)的性能影響的程度,從而找到系統(tǒng)各項(xiàng)資源的最優(yōu)配置??梢粤私飧鞣N不同因素對系統(tǒng)性能影響的程度。
5.可靠性測試(穩(wěn)定性測試)
給系統(tǒng)加載一定業(yè)務(wù)壓力的情況下,是系統(tǒng)運(yùn)行一段時(shí)間,以此來檢測系統(tǒng)運(yùn)行是否穩(wěn)定??梢则?yàn)證系統(tǒng)是否支持長期穩(wěn)定的運(yùn)行。
上面各種測試分類也是密切相關(guān)的,各種測試方法之間也有一定的包含。
性能指標(biāo)
1. 平均響應(yīng)時(shí)間(TTLB,Time to laster byte):平均每個(gè)請求從發(fā)送到接受響應(yīng)的時(shí)間。
2. 合理的平均響應(yīng)時(shí)間
2/5/10原則
解釋:
在2秒內(nèi)客戶能得倒響應(yīng)被用戶認(rèn)為是“非常有吸引力的”用戶體驗(yàn)。在5秒只內(nèi)響應(yīng)客戶被認(rèn)為是“不錯(cuò)的”用戶體驗(yàn),在10秒之內(nèi)響應(yīng)給客戶被認(rèn)為是“糟糕”的用戶體驗(yàn)。
如果超過10秒還沒得倒響應(yīng)那么被認(rèn)為請求是失敗的。
系統(tǒng)資源類的性能指標(biāo)
1.CPU
CPU的占用率
2.內(nèi)存
內(nèi)存的占用率,交換換頁數(shù)等。
3.I/O
讀寫請求數(shù),讀寫量等。跟數(shù)據(jù)庫相關(guān)。
4.帶寬
進(jìn)出站等帶寬占用率。用戶的訪問量會(huì)增加帶寬的使用,帶寬合理的使用率會(huì)降低企業(yè)的成本。
5. PV:訪問一個(gè)URL,產(chǎn)生一個(gè)PV(Page View,頁面訪問量),每日每個(gè)網(wǎng)站的總PV量是形容一個(gè) 網(wǎng)站規(guī)模的重要指標(biāo)。
6. UV:作為一個(gè)獨(dú)立的用戶,訪問站點(diǎn)的所有頁面均算作一個(gè)UV(Unique Visitor,用戶訪問)。
7. TPS:Transactions Per Second,每秒事務(wù)數(shù)。
為什么要進(jìn)行性能測試
1.能夠有效評估系統(tǒng)的性能指標(biāo),用于系統(tǒng)的性能評估。
2.能夠識別系統(tǒng)的性能瓶頸,協(xié)助性能調(diào)優(yōu)。
3.能夠指導(dǎo)突發(fā)流量承載方案的制定,指導(dǎo)資源的規(guī)劃。
4.能夠用于系統(tǒng)運(yùn)維成本的預(yù)算,根據(jù)參照進(jìn)行資源的配置。
常見性能測試工具
AB(Apache Bench), wrk ,http_load , Web Bench ,Siege,Apache JMeter,Loadrunner
性能測試工具對比
1. AB 和 JMeter同是Apache下的兩款開源的壓測工具,AB是在命令行下輕量級的測試工具,AB使用簡單一行命令,不需要運(yùn)行工具,而JMeter功能更強(qiáng)大,并且?guī)в蠫UI界面,操作更復(fù)雜。
2.JMeter支持分布式壓測,而AB不支持。
3. 使用方法上,AB是用ab這個(gè)命令以及ab命令后面所跟的參數(shù),下面這種
ab -c 10 -n 100 http://localhost/test.php
JMeter在Window上運(yùn)行有界面,在Linux環(huán)境中也可以用命令運(yùn)行。
4. AB只支持HTTP協(xié)議,JMeter支持HTTP,JDBC,F(xiàn)TP等協(xié)議。
JMeter介紹及安裝
Apache JMeter是一款純java編寫負(fù)載功能測試和性能測試開源工具軟件,體積小,功能強(qiáng)大,使用方便,是一個(gè)比較輕量級的測試工具,上手比較簡單。
官網(wǎng)地址: http://jmeter.apache.org/
JMeter安裝環(huán)境要求:
1. 安裝JDK并且配置環(huán)境變量JAVA_HOME。
2. JMeter2.11版本 需要JDK1.6以上的版本支持。
我的電腦是Mac系統(tǒng),所以命令brew install jmeter 直接安裝,時(shí)間會(huì)有點(diǎn)長。
安裝完畢后輸入jmeter命令直接打開JMeter界面。
JMeter組成
1. 取樣器:進(jìn)行腳本邏輯控制。可以用取樣器來控制業(yè)務(wù)流程,比如選擇請求的協(xié)議,何時(shí)去請求等去模擬用戶的操作行為。
2. 線程組:場景設(shè)置。包含用戶訪問的數(shù)量及并發(fā)。
3. 監(jiān)視器:監(jiān)控我們的腳本運(yùn)行,獲取性能指標(biāo)數(shù)據(jù)(吞吐量,TPS等參數(shù))。
總結(jié)
以上是生活随笔為你收集整理的【测试】性能测试及性能测试工具JMeter的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js中typeof的使用方法
- 下一篇: 个人如何申请银行POS机?银行POS机申