基於python的性能測試工具–locust


現在有很多的性能測試工具,比如說我們熟悉的loadrunner、jmeter、ab、webbench等等,這些工具如果對一個沒用過的朋友來說,學習起來比較不容易,但是如果你能看懂python代碼,會寫就更好了,就可用嘗試一下今天的主角Locust,一款基於python的性能測試工具,它的優點是學習起來比較簡單,功能完全自定制,使用比較靈活,支持分布式。

        所有的性能測試工具都至少包含這3塊:

              1、壓力產生器,也就是可以指定產生多大的壓力,多少並發;

              2、數據統計,也就是結果的展示,要統計TPS是多少,響應時間多少等等,這些數據; 

              3、代理功能,代理功能呢說白了就一句話,分攤壓力。比如說你壓測的時候要用1000個並發,但是你的電腦(壓力機)配置比較弱,只支持500並發,再大電腦就死掉了,完犢子,壓測不了。那怎么辦呢,就得分攤壓力,再管你同事借一台電腦,倆電腦發壓力,那就可以了,每個人的電腦上500個並發,人多好干活嘛,代理就是干這個的,把這個上面的壓力分攤到別的電腦上。

      當然Locust這3個功能都是有的。

        Locust是python的一個第三方模塊,安裝很簡單,直接pip install locust即可,或者自己下載安裝包,手動安裝。安裝完成后,就有locust命令,在命令行里面輸入 locust --help,有幫助信息就安裝成功了。如下圖:

     

locust的官網是 www.locust.io,上面也有怎么安裝和例子。

怎么用呢,很簡單,只需要幾行代碼就可以實現,並且有漂亮的web界面,可以設置並發數,和查看結果,首先我們寫幾行簡單的代碼,寫一個打開BestTest首頁的腳本。

 

 

                

 

代碼寫好了,下面運行一下,看看結果,但是運行的時候不是像一個普通的python腳本一樣運行了, 得使用locust命令,在命令行里運行

 

 

這樣就可以運行,運行完之后,就可以在瀏覽器里面打開locust的控制台了,locust的默認端口號是8089,運行完之后,訪問的時候用ip:8090就可以訪問了,如下圖:

 

啟動locust:

locust控制台頁面:

開始測試后的頁面:

tps圖和響應時間圖:

 

但是locust不像loadrunner和jmeter一樣可以設置開始時間和結束時間,只能你自己點stop的時候停止測試,這一點比較煩,所以在使用過程中還是需要自己注意一下測試時間。

剛才上面寫的例子是單個接口壓測, 或者更說單場景的,如果想做混合場景的壓測,比如說是一個業務流程,先登錄、然后下單、購物這樣的怎么辦呢?

只需要寫多個task就可以了,也就是在類里面寫多個函數,想誰想執行,標上數字就行了,1,2,3,4代碼如下:

 

 

 

 

關於Locust就說這么多,是不是很簡單呢,快去試試吧,有問題的小伙伴可以留言哦~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM