自定义Locust统计信息

failure():将响应报告为失败

success():将响应报告为成功

        with self.client.get("/web/users/details", catch_response=True, name='users/details') as response:
            # print(f'这是第{i}个用户发的请求{j}:{response.text}')
            if response.status_code == 401:
                response.success()
            else:
                response.failure('not 401 code')

### 使用Locust进行Web应用的性能和负载测试 #### 准备环境 安装Locust可以通过pip命令轻松完成。确保已安装Python环境之后,在终端输入如下命令来安装Locust: ```bash pip install locust ``` 这一步骤为后续创建并执行基于Python编写的自定义化负载测试脚本提供了必要的工具支持[^2]。 #### 编写测试脚本 编写一个简单的`locustfile.py`文件,其中包含了描述用户行为的任务类。下面是一个基本的例子,展示了如何模拟用户的登录操作以及浏览页面的行为: ```python from locust import HttpUser, TaskSet, task, between class UserBehavior(TaskSet): @task(1) def index(self): self.client.get("/") @task(2) def profile(self): self.client.get("/profile") class WebsiteUser(HttpUser): tasks = [UserBehavior] wait_time = between(5, 9) ``` 此代码片段定义了一组任务集,其中包括两个HTTP GET请求分别指向根路径和用户资料页;同时指定了每个虚拟用户之间的等待时间间隔范围为5到9秒之间随机选取[^3]。 #### 启动Locust服务 通过命令行启动Locust服务器,并指定刚才创建好的`.py`文件作为入口点。如果是在本地环境中,则可以直接运行以下指令: ```bash locust -f locustfile.py --host=http://example.com ``` 上述命令会开启一个内置的Web UI,默认监听于8089端口,允许使用者调整并发数、查看实时统计图表等交互式控制面板功能[^4]。 #### 执行分布式测试 当面对更大规模的压力需求时,可以利用多台机器组成集群来进行分布式的压测实验。具体做法是先在一个节点上以Master身份启动Locust实例,再让其他Worker节点连接至该中心节点共同参与测试过程: - **主节点**:`locust -f locustfile.py --master --host=http://target-site.com` - **工作节点**:`locust -f locustfile.py --worker --master-host=<MASTER_IP> --host=http://target-site.com` 这种方式能够显著提升整体吞吐量水平,适用于更复杂的生产环境下进行全面深入的功能验证与优化建议收集[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值