An open source load testing tool.

一个开源性能测试工具。

define user behaviour with python code, and swarm your system with millions of simultaneous users.

使用Python代码来定义用户行为。用它可以模拟百万计的并发用户访问你的系统。

为何突然关注性能测试工具?其实,我只是单纯对Locust工具本身感兴趣而已。

1、它与目前主流的LoadRunner和Jmeter玩法都不一样。2、它完全基于Python开发,用Python来编写用户行为。

嗯,如果想用好它的话,你必须对Web开发有一定的认识。而且还要熟悉Python开发。

官方网站:http://locust.io/

一、Locust安装                                                         

1、安装Python:

官方:https://www.python.org/

安装Python3

2、安装Locust

2.1 通过pip命令安装:pip install locust

2.2  通过GitHub上克隆项目安装(Python3推荐):https://github.com/locustio/locust

3、安装 pyzmq

If you intend to run Locust distributed across multiple processes/machines, we recommend you to also install pyzmq.

如果你打算运行Locust 分布在多个进程/机器,建议你也安装pyzmq。

通过pip命令安装: pip install pyzmq

4、安装成功,CMD敲入命令验证:locust --help

二、编写简单的性能测试脚本                                         

创建load_test.py文件,通过Python编写性能测试脚本。

from locust import HttpLocust, TaskSet, task

class UserBehavior(TaskSet):

    @task(1)
    def baidu(self):
        self.client.get("/")

class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait = 3000
    max_wait = 6000

创建UserBehavior()类继承TaskSet类,为用户行为。

创建baidu() 方法表示一个行为,访问百度首页。用@task() 装饰该方法为一个任务。1表示一个Locust实例被挑选执行的权重,数值越大,执行频率越高。在当前UserBehavior()行为下只有一个baidu()任务,所以,这里的权重设置为几,并无影响。

WebsiteUser()类用于设置性能测试。

task_set :指向一个定义了的用户行为类。

min_wait :用户执行任务之间等待时间的下界,单位:毫秒。

max_wait :用户执行任务之间等待时间的上界,单位:毫秒。

三、运行性能测试                                                            

切换到性能测试脚本所在的目录,启动性能测试:

-------------------------------------------------------------------------------------------------------------------

locust -f load_test.py --host=https://www.baidu.com

[2020-03-15 22:38:16,967] fnngj-PC/INFO/locust.main: Starting web monitor at *:8089

[2020-03-15 22:38:16,967] fnngj-PC/INFO/locust.main: Starting Locust 0.7.5

--------------------------------------------------------------------------------------------------------------------

load_test.py 为测试脚本,https://www.baidu.com 为测试的网站。

打开浏览器访问:http://127.0.0.1:8089

Number of users to simulate 设置模拟用户数

Hatch rate (users spawned/second)  孵化率?不知道怎么翻译,每秒产生(启动)的用户数。

点击Start swarming 开始运行性能测试。

如果引起了你的兴趣,剩下的你自个玩吧!难点在性能测试脚本的编写上。

参考文档:http://docs.locust.io/en/latest/quickstart.html

----------------------------------------------------------------------------------------------------

四、Locust 系列教程

Locust 介绍

Locust 安装

Locust 创建性能测试

Locust no-web模式

Locust 参数说明

Locust 分布式运行

Locust 类和方法

Locust 设置断言

Locust 参数化

性能测试进阶:(一)性能测试工具Locust的更多相关文章

  1. 性能测试工具Locust,一个开源性能测试工具

    性能测试工具Locust,一个开源性能测试工具使用Python代码来定义用户行为.用它可以模拟百万计的并发用户访问你的系统.1.它与目前主流的LoadRunner和Jmeter玩法都不一样.2.它完全 ...

  2. 【原创】相对完整的一套以Jmeter作为工具的性能测试教程(接口性能测试,数据库性能测试以及服务器端性能监测)

    准备工作 jmeter3.1,为什么是3.1,因为它是要配合使用的serveragent所支持的最高版本,下载链接 https://pan.baidu.com/s/1dWu5Ym JMeterPlug ...

  3. python压测工具Locust

    python压测工具Locust Locust介绍 Locust作为基于Python语言的性能测试框架. 其优点在于他的并发量可以实现单机10倍于LoadRunner和Jmeter工具.他的工作原理为 ...

  4. 面向Web应用的并发压力测试工具——Locust实用攻略

    1. 概述 该方案写作目的在于描述一个基于Locust实现的压力测试,文中详细地描述了如何利用locustfile.py文件定义期望达成的测试用例,并利用Locust对目标站点进行并发压力测试. 特别 ...

  5. 性能测试工具Locust

    An open source load testing tool. 一个开源性能测试工具. define user behaviour with python code, and swarm your ...

  6. 性能测试工具Locust的使用

    一.写在前面 官网:https://www.locust.io/ 官方使用文档:https://docs.locust.io/en/latest/ 大并发量测试时,建议在linux系统下进行. 二.L ...

  7. Python3中性能测试工具Locust安装使用

    Locust安装使用: 安装: python3中           ---> pip3 install locust 验证是否安装成功---> 终端中输入 locust --help  ...

  8. 开源性能测试工具Locust使用篇(三)

    脚本增强 面对较复杂的测试场景,我们可能还是会感觉无从下手:例如,很多时候脚本需要做关联或参数化处理,Locust中就不知道怎么实现了.可能也是这方面的原因,感觉难以将Locust应用到实际的性能测试 ...

  9. 开源性能测试工具Locust使用篇(二)

    那如何理解Locust和TaskSet这两个类呢? class HttpLocust(Locust) 在Locust类中,具有一个client属性,它对应着虚拟用户作为客户端所具备的请求能力,也就是我 ...

随机推荐

  1. es6变量和函数的提升、暂时性死区?

    es6变量和函数的提升.暂时性死区?

  2. 制作MACOSX 10.9Mavericks安装启动U盘教程

    苹果OS X Mavericks发布了,不少朋友又开始制作系统安装U盘了.其实下面介绍的方法与之前介绍的方法可能有些不同,不过原理还是一样的.下面看看具体的操作步骤吧! 1. 首先你需要开启显示隐藏文 ...

  3. WEB前端资源集(二)

    在上一篇为大家整理出了一些资源网站,接下来给大家整理了一些开发中常用的工具. 开发工具篇 开发工具集 Sublime Text 3:SublimeText 3是一个代码编辑器,也是HTML和散文先进的 ...

  4. IO流框架

    目录 IO流框架总结 字节流 字符流 IO流框架总结 普通IO / NIO 字节流 字节流是万能流,但是在处理字符方面有时候不太方便,一般用来处理二进制文件 字节输入流 InputStream int ...

  5. python多重逻辑排序

    python有自带的排序sorted函数,而且用reverse =True or False,来控制降序还是升序.但是如果有多个条件需要排序应该如何办呢? L = [(12, 12), (34, 13 ...

  6. SQL语言基础及数据库的创建

    一.数据类型:1.二进制数据二进制数据以十六进制形式存储.二进制数据最多能存8000个英文字符,4000个汉字字符. 2.字符数据char:存100,不足100补足.varcha:存多少占多少. 3. ...

  7. TesterHome创始人思寒:如何从手工测试进阶自动化测试?十余年经验分享

      做测试十多年,有不少人问过我下面问题: 现在的手工测试真的不行了吗? 测试工程师,三年多快四年的经验,入门自动化测试需要多久? 自学自动化测试到底需要学哪些东西? 不得不说,随着行业的竞争加剧,互 ...

  8. Kubelet

    Kubelet 相关博客 Kubelet组件深度解析 Kubelet组件解析 Kubelet运行机制分析 Kubelet与apiserver通信 ___ Kubelet组件运行在Node节点上,维持运 ...

  9. AI超越人类大脑,或许是场“别有用心者”的骗局

    ​ 谷歌.微软.苹果.特斯拉.百度.腾讯.阿里等互联网巨头企业,以及纳德拉.马斯克.扎克伯格.马云等互联网大佬,近年来一直都对人工智能--AI非常上心.在众多场合对AI给予了或肯定,或恐惧的评价.但无 ...

  10. CSS——NO.10(设置技巧)

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...