博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
性能测试工具Locust
阅读量:6831 次
发布时间:2019-06-26

本文共 2064 字,大约阅读时间需要 6 分钟。

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开发。

  官方网站:

 

 

Locust安装                                                         

 

1、安装Python

    官方:

    安装Python2 Python3

2、安装Locuse

    2.1, 通过pip命令安装 /> pip install locustio

    2.2, 通过GitHub上克隆项目安装(Python3推荐):

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, taskclass 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 开始运行性能测试。

  如果引起了你的兴趣,剩下的你自个玩吧!难点在性能测试脚本的编写上。

  参考文档:

 

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

Locust 系列教程:

《》

《》

《》

《》

《》

《》

《》

《》

《》

 

 

转载地址:http://jstkl.baihongyu.com/

你可能感兴趣的文章
MyEclipse 总是弹出“multiple Errors have Occurred”
查看>>
sas实例合集
查看>>
C语言解释器的实现--存储结构(一)
查看>>
Java Eclipse常规设置
查看>>
ios官方菜单项目重点剖析附项目源码
查看>>
构建javaweb项目
查看>>
MVC5学习笔记
查看>>
大大大大板子
查看>>
使用博客园时,如何在自己的博客上显示头像?
查看>>
【作业】简单绘图程序
查看>>
二分查找
查看>>
java ee
查看>>
复制文字,链接,剪贴板的使用
查看>>
RSA加解密-2
查看>>
正向与反向代理的理解
查看>>
二分搜索法
查看>>
关于createTextRange和createRange的一些用法【转】
查看>>
关于jquery的serialize方法转换空格为+号的解决方法
查看>>
微信发一个网址打开后自动调用手机自带默认浏览器或提示选择浏览器打开如何实现?...
查看>>
ADO.NET 快速入门(二):执行命令
查看>>