python性能测试书籍_Python的性能测试神器-Locust
Locust(俗称 蝗虫), 一个轻量级的开源压测工具,用Python编写。
locustUI.png
网上已有不少的人总结了Locust与其余几个性能测试翘楚之间的差异。(灯光师,麻烦往第三位佳丽这边打亮一点)
对比图.png
得分项:单机并发能力,Python,开源免费
掉分项:不支持资源监控,报告异常简单
纸上得来终觉浅,始知此事须躬行。
安装(和一切python第三方包安装方式一致)
$ pip install locustio
编写一个Locust 文件(保存为 一个py文件,取任意名,比如basic.py)
from locust import HttpLocust, TaskSet, task
def index(l):
l.client.get("/")
def stats(l):
l.client.get("/stats/requests")
class UserTasks(TaskSet):
# 列出需要测试的任务形式一
tasks = [index, stats]
# 列出需要测试的任务形式二
@task
def page404(self):
self.client.get("/does_not_exist")
class WebsiteUser(HttpLocust):
host = "http://127.0.0.1:8089"
min_wait = 2000
max_wait = 5000
task_set = UserTasks
在存放文件的目录下以命令行方式运行以上py文件
$locust -f basic.py
可见类似以下的画面:
basic.png
4.打开浏览器,输入地址:http://127.0.0.1:8089,开启Locust Web操作页面
LocustWeb.png
第一个输入框:想并发的人数
第二个输入框:虚拟用户初始化的比例
比如上图中的意思就是想测试1000个虚拟用户对系统的压测,刚开始的时候是以10人/秒的速度开始递增到1000人。
点击“”Start Swarming“”后你就可以开始压测你想压测的系统了。
查看执行结果(上一步点击后页面会自动刷新到结果页面,但是需要手动停止)
statistics.png
也可以切换到Charts看图形化结果
locustcharts.png
目前只有每秒请求数,平均响应时间,用户的增长曲线 三个图可看。
当然,你也通过 Download Data链接下载刚才的结果。
再回到刚开始的问题,什么是Locust呢?
locust是一个易于使用的,分布式的,用户负载测试工具。用于web站点(或其他系统)的负载测试,然后算出系统能够处理多少并发用户。
locust的思想是:在测试期间,一大群"蝗虫"会攻击你的网站,每一个"蝗虫"的行为都是由你自己定义的,同时,可以在一个web界面上实时的监控这群进程。这会帮助你更好的"进行战斗",在真正的用户进入之前,就找出代码中的瓶颈。
locust完全是事件驱动的,因此它能够在单机支持数以千计的并发用户,相比许多其他的基于事件的应用,locust不使用回调函数。它使用轻量进程---gevent。每一个访问你的网站的locust实际上都在它自己的进程内部运行(准确地说,是greenlet),也就是我们通常说的协程。这允许你在不使用带回调函数的复杂代码的情形下,使用python写出非常具有表现力的脚本。
目前Locust支持的版本有:
Python 2.7, 3.3, 3.4, 3.5, and 3.6
Locust的高阶应用之后再慢慢探索。So far so good.
比如,查看多目录的网页,查看需要登录后才能操作的网页,分布式的压测等。
能在这么短的时间内就搭建好一个压测工具,果然很Pythonic,希望以下的几位 小哥哥为代表的大神们更加努力,我们能更早用上一个有良好报告的Locust。
Authors.png
python性能测试书籍_Python的性能测试神器-Locust相关推荐
- python excelwriter保存路径_python管理文件神器 os.walk
点击上方"机器学习与生成对抗网络",关注"星标" 获取有趣.好玩的前沿干货! 来源:诡途 https://blog.csdn.net/qq_35866846/a ...
- python编程 书籍_Python编程十大最佳书籍
python编程 书籍 Starting out with Python? Books are going to be your most reliable way to do so. Let's f ...
- python原理书籍_python书籍推荐:《深入浅出深度学习:原理剖析与Python实践》
在过去的这十年,深度学习已经席卷了整个科技界和工业界,2016年谷歌阿尔法狗打败围棋世界冠军李世石,更是使其成为备受瞩目的技术焦点. 今日,小编就为大家推荐一本能让初学者和"老司机" ...
- python面向对象书籍_python面向对象法实现图书管理系统
本文实例为大家分享了python实现图书管理系统的具体代码,供大家参考,具体内容如下 需求: 图书管理系统 1.查询图书 2.增加图书 3.借阅图书 4.归还图书 5.退出系统 书:书名,作者,状态, ...
- python在线爬虫_Python爬虫偷懒神器!快速一键生成Python爬虫请求头
今天介绍个神奇的网站!堪称爬虫偷懒的神器! 我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头( headers ),以 mdn 学习区为例,我们的请求头是这样的: 一般来说,我们只要添加 us ...
- python统计分析书籍_Python数据分析入门书籍推荐
在当下这个数据驱动的时代,毫不夸张的说各行各业的商业决策和运营管理都离不开数据分析,因此数据分析已经成为当前每个人的必备技能和加分项.对于许多初学者来讲,想要入门Python数据分析常常不知道从何下手 ...
- python财务报表书籍_Python读财报-获取财务报表
学习了一段时间python,学以致用,结合财报练练手. 代码环境:WIN10.Aanconda3.Jupyter notebook 第三方库:pandas .os.tuahare.datetime.t ...
- python socket 书籍_Python学习之路——socket
一.Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信. socket服务端示例: importsocket ...
- python做性能测试框架_python api 测试框架
python常用框架 Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响.Django是走大而全的方向,它最出名的是 ...
最新文章
- attr,abbr,addr三个常见的单词意思
- 深入浅出Docker(一):Docker核心技术预览
- 《Python数据分析》-Ch01 Python 程序库入门
- redis 缓存过期默认时间_Redis 过期时间与内存管理
- typecho 去掉index.php,typecho如何去掉index.php
- centos7全离线安装docker1.17.12
- MVC3学习 一 ViewBag和Html.Raw
- ibatis 模糊查询 mysql_Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办
- VS Code 轻量级插件推荐
- tp3.2框架运行原理
- debian远程桌面设置
- java实现解压zip文件,(亲测可用)!!!!!!
- H5自适应简约浪漫婚礼邀请函HTML源码
- 南锣鼓巷大变样,最新逛吃全攻略收好!
- redisRDB持久化中dir路径配置问题
- 26个英文字母(大小写)+10个数字
- linux如何查看mac地址_查看mac地址 linux_linux查看mac地址
- 无cmd窗口运行jar包的方法
- html选区控制怎么用,ps载入选区的快捷键是什么?
- 使用 pandoc 进行文档转换(markdown转word)
热门文章
- 2021-05-18 英语单词总结
- 【别用大批量mini-batch训练神经网络,用局部SGD】Don’t Use Large Mini-batches, Use Local SGD
- python怎么找项目做小生意_三个投资小回报大的项目,让你没钱也能做买卖!
- 解决Chrome无法播放Songtaste的问题
- ORACLE之RAC搭建过程6-验证用户nobody是否存在
- 同洲、宇龙手机源代码之争
- Python入门:条件语句
- Cross origin requests are only supported for protocol schemes: http, data, chrome-extension, edge
- html css备课,html+css+div测试题备课讲稿(17页)-原创力文档
- 浩辰CAD机械2011ACAD版破解(含注册机)下载!