Locust 安装

Locust 介绍

  Locust 是一个易于使用、分布式的负载测试工具,它可以对网站或其他系统进行负载测试,并计算出一个系统能够承受多少的并发用户。Locust完全基于事件,因此可以在一台机器上支持数千名并发用户,与其他基于事件的应用相比,它不使用回调。与jmeter、loadrunner相比,Locust不需要笨重的UI或臃肿的xml,所有的用户行为都是通过手动编写代码在实现,基于协程而不是回调。不过,Locust有一个整洁的HTML用户界面,用来实时显示测试结果的相关数据。

Locust 有以下几个特点:

  • 分布式和可扩展的-支持成千上万的用户(基于协程)
  • 基于web的用户界面(具有跨平台和易于扩展的特点)
  • 可控制(所有事件I/O和协程任务都委托给gevent来替代测试工具执行)

Locust安装

Locust支持版本Python2.7、3.3、3.4、3.5、3.6

Locust 在pypi上可用,可用通过pip或easy_install安装。

pip install locustio

easy_install locustio

安装ZeroMQ

如果您打算运行分布在多个进程/机器上的Locust,那就需要安装pyzmq:

Pip install pyzmq

Easy_install pyzmq

在windows上安装locust:

  在Windows上,如果正确设置了构建环境,则运行pip install locustio可能会失败。 在这种情况下,在Windows上运行Locust的最简单方法是首先为pyzmq安装预构建的二进制包(也可能为gevent和greenlet安装)。

  你可以在这里找到一个非官方的预制python包集合:http://www.lfd.uci.edu/~gohlke/pythonlibs/

当您下载了预先构建的.whl文件时,可以使用以下命令安装它:

  pip install pyzmq16.0.2cp36cp36mwin32.whl

  一旦你完成了,你应该能够只是pip安装locustio。在Windows上运行Locust应该可以很好地开发和测试负载测试脚本。

但是,在运行大规模测试时,建议您在Linux机器上执行此操作,因为gevent在Windows下的性能很差。

安装好后,使用locust --help 查看是否安装成功。

下面是一个简单的locustfile.py的简单示例:

from locust import HttpLocust, TaskSet
def login(l):
    l.client.post("/login", {"username":"ellen_key", "password":"education"})
def index(l):
    l.client.get("/")
def profile(l):
    l.client.get("/profile")
class UserBehavior(TaskSet):
    tasks = {index: 2, profile: 1}

    def on_start(self):
        login(self)
class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait = 5000
    max_wait = 9000

  这里我们定义了许多Locust任务,它们是带有一个参数的普通Python callables(一个Locust类实例)。 这些任务是在tasksattribute中的TaskSet类下收集的。 然后我们有一个代表用户的HttpLocust类,我们在其中定义模拟用户在执行任务之间应该等待多长时间,以及TaskSet类应该定义用户的“行为”。py:class:`TaskSet <locust.core.TaskSet>`s 可以嵌套。

  HttpLocust类继承自Locust类,并添加了一个客户端属性,该属性是HttpSession的一个实例,可用于发出HTTP请求。

    我们可以通过更方便的方式声明任务的另一种方式是使用@taskdecorator.以下代码等同于上述代码:

from locust import HttpLocust, TaskSet, task
class UserBehavior(TaskSet):
    def on_start(self):
        """ on_start is called when a Locust start before any task is scheduled """
        self.login()

    def login(self):
        self.client.post("/login", {"username":"ellen_key", "password":"education"})

    @task(2)
    def index(self):
        self.client.get("/")

    @task(1)
    def profile(self):
        self.client.get("/profile")
class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait = 5000
max_wait = 9000

  Locust类(以及HttpLocust,因为它是一个子类)也允许在执行任务(min_wait和max_wait)之间以及其他用户行为之间指定每个模拟用户的最小和最大等待时间。

启动locust
  要使用上面的Locust文件运行Locust,如果它名为locustfile.py并位于当前工作目录中,我们可以运行:

  locust --host=http://localhost.com

  如果Locust文件位于子目录下和/或名称不同于locustfile.py,请使用它来指定它 -f :

  locust -f locust_files/my_locust_file.py --host=http://localhost.com

  然后我们将启动任意数量的从属进程:

  locust -f locust_files/my_locust_file.py --slave --host=http://localhost.com

  如果我们想在多台机器上运行分布式Locust,我们还必须在启动从机时指定主机(在运行分布在单台机器上的Locust时不需要这样做,因为主机主机默认为127.0.0.1):

  locust -f locust_files/my_locust_file.py --slave --master-host=192.168.0.100 --host=http://localhost.com

  您可能希望通过csv文件记录您的Locust结果。 在这种情况下,有两种方法可以做到这一点:

  首先,在运行Web服务器时,您可以从localhost检索csv:localhost:8089/stats/requests/csv   和 localhost:8089/stats/distribution/csv。 其次,您可以使用标志运行Locust,该标志将定期保存csv文件。 如果您计划使用--no-web标志以自动方式运行Locust,这将特别有用。

  locust -f locust_files/my_locust_file.py --csv=foobar --no-web -n10 -c1

  如果您希望更快(或更慢)写入,您还可以自定义写入的频率:

import locust.statslocust.stats.CSV_STATS_INTERVAL_SEC = 5 # default is 2 seconds

  

打开Locust的Web界面

  使用上述命令行之一启动Locust后,应打开浏览器并将其指向http://127.0.0.1:8089(如果您在本地运行Locust)。 那么你应该进入这样的欢迎:

  

  

原文地址:https://www.cnblogs.com/JcHome/p/9392440.html

时间: 2024-08-01 20:10:51

Locust 安装的相关文章

(二)Locust 安装

Locust 是基于 Python 语言的一个性能测试库,如果要想使用它来做性能测试必须要先安装 Python . Python安装,参考 Locust 安装 方式一:通过 pip 命令安装 > pip install locust Collecting locust Downloading locust-0.8.tar.gz (225kB) 59% |███████████████████ | 133kB 199kB/s eta 0:00:0 63% |████████████████████

Locust安装教程与使用

Locust安装教程与使用官网地址:https://github.com/locustio/locust 如果是python3+以上的环境,需要下载locust项目源码进行安装 因Centos7.2环境已默认安装python2.7版本,所以需要升级python到版本python3安装python3参考如下:1)安装python3.6可能使用的依赖yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-dev

locust安装及其简单使用----基于python的性能测试工具

1.已安装python3.6 ,安装步骤略 pip安装: pip install locust 检查locust是否安装成功 locust --help 2.安装 pyzmq If you intend to run Locust distributed across multiple processes/machines, we recommend you to also install pyzmq. 如果你打算运行Locust 分布在多个进程/机器,我们建议你也安装pyzmq. 通过pip命

Locust负载测试框架

Locust是一个简单易用的分布式负载测试工具,主要用来对网站进行负载压力测试. 以下是github上的仓库地址 https://github.com/yileye/locust 官网地址: http://locust.io/ Locust特性 使用Python编写模拟用户行为的代码,无需繁琐的配置 分布式可扩展,能够支持上百万用户 自带Web界面 不仅能测试web系统,也可以测试其它系统 Locust思想 在测试过程中,一群用户将访问你的网站.每个用户的行为由你编写的Python代码定义,同时

性能测试之Locust(一)

最近接触了性能压测的一款工具Locust,分享下: 一.首先说下压测工具对比: Jmeter: 开源免费:JMeter是一款免费的开源软件,使用它不需要支付任何费用 跨平台:java开发的开源软件 小巧:相比LR的庞大(LoadRunner 4GB左右),它非常小巧 免安装:但需要JDK环境,因为它是使用java开发的工具 JMeter 可以做web程序的功能测试,利用JMeter 中的样本,可以做灰盒测试 功能强大:jmeter设计之初只是一个简单的web性能测试工具,但经过不段的更新扩展,现

linux安装locust

linux安装locust 1. 安装epel扩展源(目的是为了在安装Pip时不出现一堆乱七八糟的错误信息) EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS.Scientific Linux 等提供高质量软件包的项目. 命令: sudo yum -y install epel-release 2. 安装python pip sudo yum -y install python-pip 3.

Locust install on windows Locust 在win上安装 笔记

首先,安装python,2.7, Locust  需要的版本 (Locust requires Python 2.6+. It is not currently compatible with Python 3.x.) 然后把python配置到环境变量,再安装,pip. python,pip安装如下: 1.在以下地址下载最新的PIP安装文件:http://pypi.python.org/pypi/pip#downloads 2.解压 3.进入解压目录 4.python setup.py inst

Locust的官网及安装

Locust官网: https://docs.locust.io/en/latest/installation.html for Python 3: $ python3 -m pip install locustio 我本地已安装python3,windows打开命令行,输入 pip install locustio自动开始安装.时间不短,因为不仅安装locustio,还同时会装requests.flask等依赖库.(第一次安装报错提示xxxx,重新安装了最新python可以正常安装了). 安装

locust性能测试安装

Locust简介 Locust是一款易于使用的分布式用户负载测试工具.它用于对网站(或其他系统)进行负载测试,并确定系统可以处理多少并发用户.这个想法是,在测试期间,一群蝗虫(Locust)会攻击你的网站.您定义了每个蝗虫Locust(或测试用户)的行为,并且实时地从Web UI监视群集过程.这将有助于您在让真正的用户进入之前进行测试并识别代码中的瓶颈.Locust完全基于事件,因此可以在一台计算机上支持数千个并发用户.与许多其他基于事件的应用程序相比,它不使用回调.相反,它通过协程(geven