性能测试工具Locust,一个开源性能测试工具
性能测试工具Locust,一个开源性能测试工具
使用Python代码来定义用户行为。用它可以模拟百万计的并发用户访问你的系统。
1、它与目前主流的LoadRunner和Jmeter玩法都不一样。
2、它完全基于Python开发,用Python来编写用户行为。
如果想用好它的话,你必须对Web开发有一定的认识。而且还要熟悉Python开发。
官方网站:https://locust.io/
2、安装Locuse
2.1, 通过pip命令安装 /> pip install locustio
2.2, 通过GitHub上克隆项目安装(Python3推荐):https://github.com/locustio/locust
3、安装 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 :用户执行任务之间等待时间的上界,单位:毫秒。
运行性能测试
切换到性能测试脚本所在的目录,启动性能测试
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 开始运行性能测试。
参考文档:https://docs.locust.io/en/latest/quickstart.html
(一)Locust 介绍 · 测试教程网
http://www.testclass.net/locust/introduce/
性能测试工具Locust,一个开源性能测试工具的更多相关文章
- 访问github太慢?我写了一个开源小工具一键变快
前言 GitHub应该是广大开发者最常去的站点,这里面有大量的优秀项目,是广大开发者寻找资源,交友学习的好地方.尤其是前段时间GitHub公布了一项代码存档计划--Arctic Code Vault, ...
- 性能测试工具Locust
An open source load testing tool. 一个开源性能测试工具. define user behaviour with python code, and swarm your ...
- 性能测试进阶:(一)性能测试工具Locust
An open source load testing tool. 一个开源性能测试工具. define user behaviour with python code, and swarm your ...
- 开源UML工具推荐
1.StarUML StarUML是一个开源UML项目,可以开发快速,灵活,可扩展,多功能并且免费的UML/MDA平台.此项目运行在Win32平台之上.StarUML项目的目标是成为RationalR ...
- 开源JDBC工具类DbUtils
本篇将会详细地介绍Apache公司的JDBC帮助工具类DbUtils以及如何使用.在上一篇中我们已经通过将以前对dao层使用JDBC操作数据库的冗余代码进行了简易封装形成自己的简单工具类JdbcUti ...
- 开源小工具 酷狗、网易音乐缓存文件转mp3工具
发布一个开源小工具,支持将酷狗和网易云音乐的缓存文件转码为MP3文件. 以前写过kgtemp文件转mp3工具,正好当前又有网易云音乐缓存文件需求,因此就在原来小工具的基础上做了一点修改,增加了对网易云 ...
- Apache—dbutils开源JDBC工具类库简介
Apache—dbutils开源JDBC工具类库简介 一.前言 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用 ...
- 七牛云——qshell一个神奇的工具
前言 qshell是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具.该工具设计和开发的主要目的就是帮助开发者快速解决问题.目前该工具融合了七牛存储,CDN,以及其他 ...
- [工具推荐]004.EXE签名工具SignTool使用教程
数字证书,真是个神奇的东西,可以保证软件不被修改,可以表明文件的发布日期,最重要的,可以很大程度的减少杀毒软件的误报,当然,这就要使用可信任的机构颁发的证书了. 现在要说的不是申请证书,而是如何制作自 ...
随机推荐
- 如何快速REPAIR TABLE
早上到公司,刚准备吃早餐,手机响了,一看是服务器自动重启了.好吧,准备修复数据吧.游戏服的游戏日志使用的是MyISAM.众所周知,MyISAM表在服务器意外宕机或者mysqld进程挂掉以后,MyISA ...
- jsp fmt标签格式化double数字
<fmt:formatNumber value="${zjdl.ygdl }" pattern="0.00" />
- GOROOT、GOPATH、GOBIN
GOROOT golang安装路径. GOPATH GOPATH可以设置多个工程目录,linux下用冒号分隔(必须用冒号,fish shell的空格分割会出错),windows下用分号分隔,但是go ...
- 万恶之源 - Python模块一
序列化 我们今天学习下序列化,什么是序列化呢? 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 为什么要有序列化模块: 比如,我们在python代码中计算的一个数据需要给另外一段程序使用 ...
- abap 从屏幕输入数据
1: 从屏幕输入数据: 直接定义parameters类型(该类型的变量名不能超过8个字符. REPORT ZHANSEN34. *SELECTION-SCREEN BEGIN OF LINE. * S ...
- Spark Worker启动Driver和Executor工作流程
二:Spark Worker启动Driver源码解析 case LaunchDriver(driverId, driverDesc) => { logInfo(s"Asked to l ...
- centos7部署fabric-ca错误解决
1.fabric-ca 编译错误:ltdl.h: no such file 在fabric-ca目录中使用make编译时,会出现如下错误: 解决方案: 如果在ubunt操作系统中,只需安装:apt i ...
- 7个Java项目,或许你的大学老师就会布置
前言: 有天吃饭和朋友聊天,说到大学老师布置的开发项目,结果我们一干人说出来的都基本一样,入门级别的计算器啦,稍微大一点的记事本啦,然后到后面的图书管理系统啊,购物网站啊-- 发现这些项目都是大学老师 ...
- [LeetCode] 414. Third Maximum Number_Easy
Given a non-empty array of integers, return the third maximum number in this array. If it does not e ...
- Linux Performance 一文
http://www.brendangregg.com/linuxperf.html Brendan D. Gregg 专注 Linux performance & tuning 许多年,其博 ...