Python技术栈性能测试软件Locust零基础篇

Python的魔力在于化繁为简,基于Python的Locust也能给仍然困惑于性能测试的我们带来启发。

Locust特点

  • 以纯Python方式编写用户脚本,提供极大自由度。
  • 用户脚本可以串行方式编写,Locust会通过轻量级进程/协程产生并发,无需自己做并发编程。
  • 并发量大,借助于gevent库,Locust能产生成千上万并发请求。
  • 开销小,Locust用户运行时开销很小。
  • 良好的Web UI对性能结果实时监测。
  • 能测任何系统任何协议,只需要写个client即可。
  • 开放REST API,尽情发挥。

安装Locust

需要Python版本3.6及以上。

执行pip命令:


  1. $ pip install locust 

验证安装成功:


  1. $ locust -V 

安装时会一并安装依赖库:

Installing collected packages: Werkzeug, pywin32, zope.event, greenlet, gevent, geventhttpclient, itsdangerous, flask, Flask-BasicAuth, ConfigArgParse, pyzmq, psutil, locust

能看出来flask为Locust提供了Web功能。

快速上手

使用Locust一般按照以下步骤进行:

  1. 编写Python用户脚本。
  2. 使用locust命令执行性能测试。
  3. (可选)通过Web界面监测结果。

示例代码如下,新建locustfile.py文件:


  1. import time 
  2. from locust import HttpUser, task, between 
  3.  
  4. class QuickstartUser(HttpUser): 
  5.     wait_time = between(1, 2.5) 
  6.  
  7.     @task 
  8.     def hello_world(self): 
  9.         self.client.get("/hello"
  10.         self.client.get("/world"
  11.  
  12.     @task(3) 
  13.     def view_items(self): 
  14.         for item_id in range(10): 
  15.             self.client.get(f"/item?id={item_id}"name="/item"
  16.             time.sleep(1) 
  17.  
  18.     def on_start(self): 
  19.         self.client.post("/login", json={"username":"foo""password":"bar"}) 

路径切换到locustfile.py文件所在目录,执行命令:

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章