摘要: 连接WS的库有的是支持异步IO的,项目中我们推荐这样的库,但是压测时还是要选择同步的库。 异步 安装 pip install websockets 代码示例 import asyncio import websockets import json import random async def my 阅读全文
posted @ 2025-11-12 15:48 hjy1995 阅读(4) 评论(0) 推荐(0)
摘要: 事件系统深度应用 全局事件监听 Locust的事件系统就像是一个"消息广播站",可以在特定时机执行自定义逻辑: @events.test_start.add_listener @events.test_stop.add_listener @events.user_error.add_listener 阅读全文
posted @ 2025-11-12 15:47 hjy1995 阅读(4) 评论(0) 推荐(0)
摘要: locust 分布式 运行多个进程的Locust, 使用 --master 命令启动主进程, 使用 --worker 启动从属进程 主进程控制从进程并收集从进程的测试结果;从进程负责执行测试,并反馈结果给主进程。 启动无界面主进程 locust -f locustfile.py --master - 阅读全文
posted @ 2025-11-12 15:47 hjy1995 阅读(13) 评论(0) 推荐(0)
摘要: from locust import HttpUser, task, between # 相当于模拟一个用户 class WebUser(HttpUser): # 服务器的地址 host = 'http://localhost:8000' # 下一个任务执行之前等待的时间,用于模式用户的思考时间 w 阅读全文
posted @ 2025-11-12 15:45 hjy1995 阅读(5) 评论(0) 推荐(0)
摘要: 它采用纯 Python 实现,是一个分布式用户负载测试的工具。 使用基于 Requests 库的客户端发起请求,使编写脚本大大简化; 在模拟并发方面摒弃进程和线程,完全基于时间驱动,采用协程(gevent)提供的非阻塞 IO 和 coroutine 来实现网络层的并发请求。因此单台压力机也能产生数千 阅读全文
posted @ 2025-11-12 15:44 hjy1995 阅读(6) 评论(0) 推荐(0)
摘要: async/await 和 asyncio Python 引入了 async/await 语法来支持异步编程。当我们在函数定义前加上 async 关键字时,这个函数就变成了一个"协程"(coroutine)。而 await 关键字则用于等待一个协程完成。 import asyncio import 阅读全文
posted @ 2025-11-12 14:28 hjy1995 阅读(9) 评论(0) 推荐(0)
摘要: 原文地址 https://www.cnblogs.com/imyalost/p/16320776.html 阅读全文
posted @ 2024-11-24 14:40 hjy1995 阅读(25) 评论(0) 推荐(0)
摘要: 全链路压测? 基于实际的生产业务场景和系统环境,模拟海量的用户请求和数据,对整个业务链路进行各种场景的测试验证,持续发现并进行瓶颈调优,保障系统稳定性的一个技术工程。 针对业务场景越发复杂化、海量数据冲击,发现并解决整个业务系统的可用性、扩展性以及容错性的过程。 核心流程 全链路压测实施的核心流程如 阅读全文
posted @ 2024-11-24 14:39 hjy1995 阅读(67) 评论(0) 推荐(0)
摘要: 定义: TPS:单位时间(每秒)处理的事务数。 并发数:同一时刻系统同时处理的请求数(相对并发,绝对并发)。 线程数:一般情况下,指是的虚拟用户数。 1 两个场景 场景一:登录接口能够承受秒级 1000 并发。 那么,这里的并发是TPS?还是并发数?还是线程数?如果是你,你会如何解读呢?说说个人的理 阅读全文
posted @ 2024-11-24 14:34 hjy1995 阅读(158) 评论(0) 推荐(0)
摘要: 线程数、并发用户数 线程数: 主流的性能测试工具(Jmeter/Loadrunner),以线程式并发的方式,启动复数个线程,让每个线程独立向服务器端发出请求,帮我们达成“短时间内向服务器发送大量请求”的任务。 有时候我们在描述性能测试过程时,会将这个客户端的独立线程数表述为“并发数”。 注意: 这里 阅读全文
posted @ 2024-11-24 14:26 hjy1995 阅读(967) 评论(0) 推荐(0)