性能測試工具Locust


An open source load testing tool.

一個開源性能測試工具。

define user behaviour with python code, and swarm your system with millions of simultaneous users.

使用Python代碼來定義用戶行為。用它可以模擬百萬計的並發用戶訪問你的系統。

  如果你常關注我的博客,大概會注意到我有三、四年沒有寫過關於性能測試的文章了,其實,今年也沒更新幾篇像樣的博客,反而是我最忙的一年,原因是在寫一本關於接口自動化的書。

  回到主題,為何突然關注性能測試工具?其實,我只是單純對Locust工具本身感興趣而已。1、它與目前主流的LoadRunnerJmeter玩法都不一樣。2、它完全基於Python開發,用Python來編寫用戶行為。

  嗯,如果想用好它的話,你必須對Web開發有一定的認識。而且還要熟悉Python開發。

  官方網站:http://locust.io/

 

 

Locust安裝                                                         

 

1、安裝Python

    官方:https://www.python.org/

    安裝Python2 Python3

2、安裝Locuse

    2.1, 通過pip命令安裝 /> pip install locustio

    2.2, 通過GitHub上克隆項目安裝(Python3推薦):https://github.com/locustio/locust

3、安裝 pyzmq

    If you intend to run Locust distributed across multiple processes/machines, we recommend you to also install pyzmq.

    如果你打算運行Locust 分布在多個進程/機器,我們建議你也安裝pyzmq.

    通過pip命令安裝。 /> pip install pyzmq

4、安裝成功,CMD敲入命令驗證。 /> locust --help

 

 

編寫簡單的性能測試腳本                                         

 

  創建load_test.py文件,通過Python編寫性能測試腳本。

from locust import HttpLocust, TaskSet, task class UserBehavior(TaskSet): @task(1) def baidu(self): self.client.get("/") class WebsiteUser(HttpLocust): task_set = UserBehavior min_wait = 3000 max_wait = 6000

   創建UserBehavior()類繼承TaskSet類,為用戶行為。

  創建baidu() 方法表示一個行為,訪問百度首頁。用@task() 裝飾該方法為一個任務。1表示一個Locust實例被挑選執行的權重,數值越大,執行頻率越高。在當前UserBehavior()行為下只有一個baidu()任務,所以,這里的權重設置為幾,並無影響。

  WebsiteUser()類用於設置性能測試。

  task_set :指向一個定義了的用戶行為類。

  min_wait :用戶執行任務之間等待時間的下界,單位:毫秒。

  max_wait :用戶執行任務之間等待時間的上界,單位:毫秒。

 

 

運行性能測試                                                            

 

  切換到性能測試腳本所在的目錄,啟動性能測試:

 ------------------------------------------------------------------

 .../> locust -f load_test.py --host=https://www.baidu.com

 [2016-11-19 22:38:16,967] fnngj-PC/INFO/locust.main: Starting web monitor at *:8089

 [2016-11-19 22:38:16,967] fnngj-PC/INFO/locust.main: Starting Locust 0.7.5

 

-----------------------------------------------------------------

     load_test.py 為測試腳本,https://www.baidu.com 為測試的網站。

     打開瀏覽器訪問:http://127.0.0.1:8089

  Number of users to simulate 設置模擬用戶數

  Hatch rate (users spawned/second)  孵化率?不知道怎么翻譯,每秒產生(啟動)的用戶數。

  點擊Start swarming 開始運行性能測試。

  如果引起了你的興趣,剩下的你自個玩吧!難點在性能測試腳本的編寫上。

  參考文檔:http://docs.locust.io/en/latest/quickstart.html

 

------------------------

Locust 系列教程:

Locust 介紹

Locust 安裝

Locust 創建性能測試

Locust no-web模式

Locust 參數說明

Locust 分布式運行

Locust 類和方法

Locust 設置斷言

Locust 參數化

 

 


免責聲明!

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



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