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

Locust介绍

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

特点

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

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

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

入门

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

安装pip install locust即可。

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

# coding: utf-8

from locust import HttpUser, task


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

然后在terminal输入

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里查看解释

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值