前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Locust性能测试入门-1 名词解释和最基本的用法

Locust性能测试入门-1 名词解释和最基本的用法

作者头像
孟船长
发布2022-04-12 14:36:28
5460
发布2022-04-12 14:36:28
举报
文章被收录于专栏:自动化测试实战

Locust介绍

Locust是基于事件分布式负载测试工具。名字和logo都代表蝗虫/蚂蚱,解释是因为它们总是成群。

特点

  • 基于协程,资源占用率小,效率高

补充说明 进程、线程、协程区别 进程:进程是资源分配的单位,程序运行时系统就会创建一个进程,并为它分配资源。然后把该进程放入进程就绪队列,进程调度器选中它的时候就会为它分配CPU时间,程序开始真正运行。 线程:线程是系统调度的单位,是程序执行时的最小单位。它是进程的一个执行流,是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。 协程:又称微线程,协程是程序级别的,由程序员根据需要自己调度。协程无需线程上下文切换的开销,只是单纯的操作CPU的上下文,所以资源占有率很小。缺点是协程阻塞时可能会使整个程序都阻塞。 举个简单的例子便于理解 一个生产车间需要生产线。老板【CPU】刚开始投资【花费资源】买了一条生产线【创建了一个进程】,然后招聘了一个工人【创建单线程】进行生产,为了提高效率,老板又招聘了一些工人【多线程】。人多了老板【CPU】发现总会有工人因为没有活干或者等待上一个工序的完成而闲下来无事可做,于是就分配这些恰好空闲的工人去完成其他的工作【协程】。根据这个例子可以发现,切换进程需要资源较多,协程则只需要很少的资源(找他聊聊天,跟他说一下干什么)。

  • 基于webUI界面,可以实时显示相关的测试结果
  • 支持分布式测试,用户界面基于网络,因此具有跨平台且易于扩展的特点
  • 所有繁琐的I/O和协同程序都被委托给gevent,替代其他工具的局限性
  • 官网说:这个很简单,你快来学吧

入门

现在下载Locust 你的python版本至少要3.6的。

安装pip install locust即可。

我们先写一个简单的例子,看一下界面

代码语言:javascript
复制
# coding: utf-8

from locust import HttpUser, task


class TestIndex(HttpUser):
    @task
    def getIndex(self):
        self.client.get('/s?wd=性能')

然后在terminal输入

代码语言:javascript
复制
locust -f testindex.py --host=https://www.baidu.com

回车执行,就可以看到

点击生成的链接:http://0.0.0.0:8089跳转到浏览器

上面6和2代表每秒增加2个用户,最多增加到6个(3秒增加完成)

点击Start swarming开始执行

可以看到数据是不停的在变动,点击红色Stop按钮,即可停止

切换标签页到Charts即可查看图表

在Download Data页签可以下载csv数据或者测试报告

提醒】做demo时建议不要把用户数做的太大,法律认为,在明知道有可能将对方服务器搞崩溃的情况下仍然进行操作,并对对方造成损失就属于违法。

标签解释

  • Type:请求类型,即接口的请求方法
  • Name:请求路径
  • Requests:当前已完成的请求数量
  • Fails:当前失败的数量
  • Median:响应时间的中间值,即50%的响应时间在这个数值范围内,单位为毫秒
  • 90%ile:90%响应时间,单位为毫秒
  • 99%ile:99%响应时间,单位为毫秒
  • Average:平均响应时间,单位为毫秒
  • Min:最小响应时间,单位为毫秒
  • Max:最大响应时间,单位为毫秒
  • Average Size:平均响应数据大小,单位为字节;
  • Current RPS:当前每秒请求数量
  • Current Failures/s:每秒失败数量

这些名词可以在F12里查看解释

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自动化测试实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Locust介绍
    • 特点
      • 标签解释
  • 入门
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档