性能测试 —— 开源负载测试工具Locust详解~

1123 篇文章 44 订阅
835 篇文章 2 订阅

1.locaust是什么?

Locust是一款易于使用的分布式负载测试工具,完全基于事件,即一个locust节点也可以在一个进程中支持数千并发用户,不使用回调,通过gevent使用轻量级过程(即在自己的进程内运行)

2.locust安装

命令:pip install locust

3.一个简单的locustfile.py文件 import time

import time
from locust import HttpUser,task,between

class QuickStartUser(HttpUser):
    host = 'http://192.168.0.102:5000'
    min_wait = 3000
    max_wait = 6000

    @task
    def index(self):
        r=self.client.get('/login')
        assert r.status_code==200

    @task
    def login(self):
        r = self.client.post(
            url='/login',
            json={"username": "wuya", "password": "admin", "age": 18, "sex": "男"})
        assert r.status_code == 200

4.控制台运行:locust -f locustfile.py

启动locust文件成功后,编译器控制台会显示如下信息:

[2018-10-09 01:01:44,727] IMYalost/INFO/locust.main: Starting web monitor at *:8089

[2018-10-09 01:01:44,729] IMYalost/INFO/locust.main: Starting Locust 0.8 

PS:8089是该服务启动的端口号,如果是本地启动,可以直接在浏览器输入http://localhost:8089打开UI界面,如果是其他机器搭建locust服务,则输入该机器的IP+端口即可;

locust的UI界面

下⾯具体针对界⾯的⽂字设置进⾏解释,具体如下:
• Number of total users to simulate:设置模拟的⽤户总数
• Spawn rate (users spawned/second):每秒启动的⽤户虚拟数
• Host (e.g. http://www.example.com):被测的⽬标服务器的地址信息

Type:请求类型(也就是请求具体是那个=⽅法)
Name:请求的路径地址信息
Requests:当前已完成的请求数量
Fails:当前失败的数量
Mediam(ms): 响应时间的中位数
90%ile (ms):90%的请求响应时间
Average (ms):平均响应时间
Min (ms):最⼩响应时间
Max (ms):最⼤响应时间
Average size (bytes):平均请求的数据量
Current RPS:每秒中处理请求的数量,也就是RPS

菜单栏:

New test:点击该按钮可对模拟的总虚拟⽤户数和每秒启动的虚拟⽤户数进⾏编辑;
Statistics:聚合报告
Charts:测试结果变化趋势的曲线展示图,分别为每秒完成的请求数(RPS)、响应时间、不同时间的虚拟⽤户数;
Failures:失败请求的展示界⾯;
Exceptions:异常请求的展示界⾯;
Download Data:测试数据下载模块, 提供三种类型的CSV格式的下载,分别是:Statistics、responsetime、

Locust是一个开源的负载测试工具,用于模拟并发用户对系统进行压力测试。

以下是使用Locust进行负载测试的基本步骤:

  1. 安装Locust:可以通过pip包管理器安装Locust。在命令行中运行pip install locust即可完成安装。

  2. 编写测试脚本:使用Python编写测试脚本,以定义模拟用户的行为和业务逻辑。你可以使用Locust提供的API来编写这些脚本,例如指定用户行为、任务执行频率等。

  3. 启动Locust Master节点:在命令行中进入你的测试脚本所在目录,运行locust -f my_test.py --host=http://your-app-url启动Locust主节点。其中,my_test.py是你的测试脚本文件名,--host参数指定要测试的应用程序URL。

  4. 配置和监控:访问http://localhost:8089(默认端口)查看Locust的Web界面。在此界面上,你可以配置并发用户数、用户每秒启动数量、任务权重等设置,并实时监控测试的性能指标和结果。

  5. 启动压测:在Locust的Web界面上,点击"Start swarming"按钮开始进行压力测试。Locust会模拟指定数量的虚拟用户并发请求你的应用程序。

  6. 分析结果:在测试运行期间,可以在Locust的Web界面上实时查看各项指标,如请求响应时间、成功和失败的请求数等。测试结束后,你还可以导出结果报告供进一步分析和评估。

注意事项:

  • 在编写测试脚本时,要确保它能正确地模拟真实用户的行为,并覆盖到系统中的主要功能和场景。
  • 在进行压力测试之前,要确保被测试的系统已经做好了负载承受能力的准备,并且有足够的资源支持测试。
  • 在设置并发用户数和任务频率时,要根据实际情况进行合理的设计,以避免过度消耗资源或造成系统崩溃。
  • 在测试期间,要密切关注系统的性能表现,及时处理测试过程中出现的错误和异常。

总之,使用Locust进行负载测试可以帮助你评估系统的性能和稳定性,发现潜在的问题,并为系统的扩展和优化提供参考依据。

后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值