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

    如今有不少的性能測試工具,好比說咱們熟悉的loadrunner、jmeter、ab、webbench等等,這些工具若是對一個沒用過的朋友來講,學習起來比較不容易,可是若是你能看懂python代碼,會寫就更好了,就可用嘗試一下今天的主角Locust,一款基於python的性能測試工具,它的優勢是學習起來比較簡單,功能徹底自定製,使用比較靈活,支持分佈式。python

        全部的性能測試工具都至少包含這3塊:web

              一、壓力產生器,也就是能夠指定產生多大的壓力,多少併發;sublime-text

              二、數據統計,也就是結果的展現,要統計TPS是多少,響應時間多少等等,這些數據; 瀏覽器

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

      固然Locust這3個功能都是有的。分佈式

        Locust是python的一個第三方模塊,安裝很簡單,直接pip install locust便可,或者本身下載安裝包,手動安裝。安裝完成後,就有locust命令,在命令行裏面輸入 locust --help,有幫助信息就安裝成功了。以下圖:函數

     

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

怎麼用呢,很簡單,只須要幾行代碼就能夠實現,而且有漂亮的web界面,能夠設置併發數,和查看結果,首先咱們寫幾行簡單的代碼,寫一個打開BestTest首頁的腳本。post

 

 

                

 

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

 

 

這樣就能夠運行,運行完以後,就能夠在瀏覽器裏面打開locust的控制檯了,locust的默認端口號是8089,運行完以後,訪問的時候用ip:8090就能夠訪問了,以下圖:

 

啓動locust:

locust控制檯頁面:

開始測試後的頁面:

tps圖和響應時間圖:

 

可是locust不像loadrunner和jmeter同樣能夠設置開始時間和結束時間,只能你本身點stop的時候中止測試,這一點比較煩,因此在使用過程當中仍是須要本身注意一下測試時間。

剛纔上面寫的例子是單個接口壓測, 或者更說單場景的,若是想作混合場景的壓測,好比說是一個業務流程,先登陸、而後下單、購物這樣的怎麼辦呢?

只須要寫多個task就能夠了,也就是在類裏面寫多個函數,想誰想執行,標上數字就好了,1,2,3,4代碼以下:

 

 

 

 

關於Locust就說這麼多,是否是很簡單呢,快去試試吧,有問題的小夥伴能夠留言哦~

相關文章
相關標籤/搜索