python第三方类库locust压力测试

简介: locust是开源免费的压力测试工具,使用简单,复用场景多,报告直观明了。可以单点压力,也可以分布式等方方面面都棒得很。。。

一:代码如下

# coding=utf-8"""    作者:建帅小伙儿    功能:    新增功能:    日期:2022/2/23 17:25"""fromlocustimportHttpUser, between, task, TaskSetimportosfromcommon.agCliimport*importloggingclassTaskTest(TaskSet, CLI):
# 执行并发前置动作,比如清理当前所有sessiondefon_start(self):
"""        description:登录ag, 清理log        :return:        """self.ssh_ag()
self.clear_log()
logging.info('清理log结束,压测开始!!!')
# 压测任务,也可以是@task(10)啥的,这个数字是代表权重,数值越大,执行的频率就越高@taskdeflogin(self):
url='/prx/000/http/localh/login'data= {
"method": "http1",
"uname": "gaojs",
"pwd1": "",
"pwd2": "",
"pwd": "admin",
"submitbutton": "Sign"        }
header= {"Content-Type": "application/json;charset=UTF-8"}
self.client.request(method='POST', url=url, data=data, headers=header, name='登录虚拟站点', verify=False, allow_redirects=False)
# 执行并发测试后执行的动作,比如保存log等操作,查看报告http://localhost:8089/defon_stop(self):
self.ssh_ag()
self.cli_cmd('switch vsite')
self.cli_cmd('session kill all')
logging.info('清理session结束,压测结束,请查看report, http://localhost:8089!!!')
classLogin(HttpUser):
host='https://192.168.120.206'# 每次请求停顿时间wait_time=between(1, 3)
tasks= [TaskTest]
if__name__=="__main__":
os.system("locust -f locust_test.py --host=https://192.168.120.206")

二:报告如下


image.png

image.png


1. Type:请求类型;
2.Name:请求路径;
3.requests:当前请求的数量;
4.fails:当前请求失败的数量;
5.Median:中间值,单位毫秒,一般服务器响应时间低于该值,而另一半高于该值;
6.Average:所有请求的平均响应时间,毫秒;
7.Min:请求的最小的服务器响应时间,毫秒;
8.Max:请求的最大服务器响应时间,毫秒;
9.Content Size:单个请求的大小,单位字节;
10.reqs/sec:每秒钟请求的个数。

 

 

image.png

 image.png

charts页签下面的参数(Total Requsts per Second)

1.(Total Requsts per Secon):吞吐量/每秒响应事务数(rps)实时统计

2.(Response Times):平均响应时间/平均事务数实时统计

3.(Number of Users):虚拟用户数运行

相关文章
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
636 3
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
555 2
|
测试技术 持续交付 Apache
深度挖掘:Python性能测试中JMeter与Locust的隐藏技能🔍
【8月更文挑战第5天】随着软件规模扩大,性能测试对系统稳定性至关重要。Apache JMeter和Locust是两大主流工具,各有千秋。本文探索它们在Python环境下的进阶用法,挖掘更多性能测试潜力。JMeter功能强大,支持多种协议,可通过命令行模式执行复杂测试计划,并与Python集成实现动态测试数据生成。Locust基于Python,通过编写简洁脚本模拟HTTP请求,支持自定义请求及与Python库深度集成。掌握这些技巧可实现高度定制化测试场景,有效识别性能瓶颈,提升应用稳定性。
324 1
|
测试技术 持续交付 Apache
性能怪兽来袭!Python+JMeter+Locust,让你的应用性能飙升🦖
【8月更文挑战第5天】随着互联网应用规模增长,性能测试至关重要。本文介绍如何利用Python结合Apache JMeter和Locust构建高效可定制的性能测试框架。JMeter广泛用于负载测试,通过模拟大量虚拟用户并发访问来评估性能。Locust基于Python,通过编写简单脚本模拟HTTP请求,特别适合Web应用测试,比JMeter更灵活易扩展。Python作为胶水语言简化测试脚本编写并流畅自动化流程。文章提供JMeter命令行测试和Locust脚本示例,并展示如何用Python自动化执行和整合测试结果,最终帮助应用在高负载下稳定运行。
460 1
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【8月更文挑战第5天】性能测试确保应用高负载下稳定运行。Apache JMeter与Locust是两大利器,助力识别解决性能瓶颈。本文介绍这两款工具的应用与优化技巧,并通过实战示例展示性能测试流程。首先,通过JMeter测试静态与动态资源;接着,利用Locust的Python脚本模拟HTTP请求。文中提供安装指南、命令行运行示例与性能优化建议,帮助读者掌握性能测试核心技能。
703 0
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
645 3
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
721 1
|
测试技术 持续交付 Apache
性能怪兽来袭!Python+JMeter+Locust,让你的应用性能飙升🦖
【10月更文挑战第10天】随着互联网应用规模的不断扩大,性能测试变得至关重要。本文将探讨如何利用Python结合Apache JMeter和Locust,构建高效且可定制的性能测试框架。通过介绍JMeter和Locust的使用方法及Python的集成技巧,帮助应用在高负载下保持稳定运行。
334 2
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
519 4
|
测试技术 持续交付 Apache
性能怪兽来袭!Python+JMeter+Locust,让你的应用性能飙升🦖
【10月更文挑战第2天】随着互联网应用规模的不断膨胀,性能测试变得至关重要。本文将介绍如何利用Python结合Apache JMeter和Locust构建高效且可定制的性能测试框架。Apache JMeter是一款广泛使用的开源负载测试工具,适合测试静态和动态资源;Locust则基于Python,通过编写简单的脚本模拟HTTP请求,更适合复杂的测试场景。
338 3

推荐镜像

更多