iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python locust工具怎么用
  • 262
分享到

Python locust工具怎么用

2023-06-08 01:06:38 262人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下python locust工具怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自

小编给大家分享一下python locust工具怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

Python是什么意思

Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。

一、简介

1、优势

locust是python语言开发的一款的开源的的性能测试框架,他比jmeter更加的轻量级,主要是通过协程(gevent)的方式去实现并发,通过协程的方式可以大幅提高单机的并发能力,同时避免系统级的资源调度。locust具有开源性、分布式、支持高并发,支持WEBUI的操作方式。

2、劣势

locust的图表功能较弱,只展示了很少的数据

locust不支持监控服务端的状态,需要借助第三方工具,或者自己写代码去实现

二、安装

locust的安装非常简单,直接通过pip的方式就可以安装

pip install locust

三、locust的库和方法介绍

1、from locust import task

通过task可以把某个函数指定为任务,直接@task装饰对应的函数即可,在@tast(n)中可以有一个参数n,意思是这个任务的占比是多少

2、from locust import TaskSet

需要定义一个类,继承TaskSet这个类,这个是是一个任务集的概念,这个类中可以包括多个task

3、from locust import HttpUser

需要定义一个类,这个类要继承HttpUser,通过这个定义的类我们可以执行具体的任务集

看了上面的介绍,可能大家有点云里雾里的,下面我们由浅入深看代码

四、实战代码V1.0(入门代码)

1、代码如下

from locust import HttpLocustfrom locust import HttpUserfrom locust import taskfrom locust import TaskSet#指定一个任务集class My_task_set(TaskSet):      #这是某个任务,30是比例,比如这里是30/50    @task(30)    def getindex1(self):        # client就是个requests对象        # catch_response,告诉locust如何判断请求失败还是成功        res  = self.client.get("/bainianminguo/p/10952586.html")     @task(20)    def getindex2(self):        # client就是个requests对象        res = self.client.get("/bainianminguo/p/7253930.html")  class WebSite(HttpUser):    # 指定要执行哪个任务集    tasks = [My_task_set,]    # 请求和请求之间最小的间隔时间    min_wait = 1000    # 请求和请求之间最大的间隔时间    max_waif = 2000

2、进入代码的目录,执行如下命令

Python locust工具怎么用

3、打开浏览器,输入http://localhost:8089/

Python locust工具怎么用

4、参数讲解

Number of total users to simulate 模拟的总的用户数

Spawn rate 每秒钟新增的用户数

五、实战代码V1.1(入门代码)

1、任务集类中的on_start方法

class My_task_set(TaskSet):     #添加初始化方法    def on_start(self):        print("类似类中的构造方法,每个用户在任务开始前,只执行一次,在这里可以定义一个对象的属性,这样其它测试集就可以使用这个属性")

这个方法类似pytest框架中的前置条件或者说是面向对象中的构造方法

2、任务集类中的on_start方法

def on_stop(self):    print("类似类中的后置方法,每个用户在任务开始后,只执行一次,在这里可以定义一个对象的属性,这样其它测试集就可以使用这个属性")

六、实战代码V1.2(入门代码)

1、如何判断请求是失败还是成功

Python locust工具怎么用

2、然后再响应的消息中指定判断逻辑即可,success即为成功,failure即为失败

Python locust工具怎么用

七、实战代码V1.3(全量代码)

from locust import HttpLocustfrom locust import HttpUserfrom locust import taskfrom locust import TaskSet # locust中的client会自动帮我们处理cookies。类似request.session(),所以如果我们登陆的时候,只需要在on_start中登陆一次就可以了 # 如果在locust中,如果url是不需要统计,则我们不要用clent去访问api,应该用request去访问,这样就locust就不会统计request库发起的请请求#指定一个任务集class My_task_set(TaskSet):     #添加初始化方法    def on_start(self):        print("类似类中的构造方法,每个用户在任务开始前,只执行一次,在这里可以定义一个对象的属性,这样其它测试集就可以使用这个属性")     def on_stop(self):        print("类似类中的后置方法,每个用户在任务开始后,只执行一次,在这里可以定义一个对象的属性,这样其它测试集就可以使用这个属性")     #这是某个任务,30是比例,比如这里是30/50    @task(30)    def getindex1(self):        # client就是个requests对象        # catch_response,告诉locust如何判断请求失败还是成功        res  = self.client.get("/bainianminguo/p/10952586.html",catch_response=True)        if res.code == 200:            res.success()        else:            res.failure("ff")        print(res)    @task(20)    def getindex2(self):        # client就是个requests对象        res = self.client.get("/bainianminguo/p/7253930.html")        print(res) class WebSite(HttpUser):    # 指定要执行哪个任务集    # task_set = My_task_set     tasks = [My_task_set,]    # 请求和请求之间最小的间隔时间    min_wait = 1000    # 请求和请求之间最大的间隔时间    max_waif = 2000  # Number of total users to simulate   模拟的用户数# Spawn rate                          每秒钟产生的用户数

八、常见问题

1、cookies

locust中的client会自动帮我们处理cookies。类似request.session(),所以如果我们登陆的时候,只需要在on_start中登陆一次就可以了

2、多统计api的问题

如果在locust中,如果url是不需要统计,则我们不要用clent去访问api,应该用request去访问,这样就locust就不会统计request库发起的请请求

九、分布式调用的问题

一旦单台机器不够模拟足够多的用户时,Locust支持运行在多台机器中进行压力测试。 为了实现这个,你应该在 master 模式中使用--master标记来启用一个 Locust 实例。这个实例将会运行你启动测试的 Locust 交互网站并查看实时统计数据。<br>master 节点的机器自身不会模拟任何用户。相反,你必须使用 --slave 标记启动一台到多台 Locustslave 机器节点,与标记 --master-host 一起使用(指出master机器的IP/hostname)。 常用的做法是在一台独立的机器中运行master,在slave机器中每个处理器内核运行一个slave实例。 注意:master 和每一台 slave 机器,在运行分布式测试时都必须要有 locust 的测试文件。
在 master 模式下启动 Locust: locust -f my_loucstfile.py --master 在每个 slave 中执行(192.168.0.14 替换为你 msater 的IP): locust -f my_locustfile.py --slave --master-host=192.168.0.14

Python locust工具怎么用

看完了这篇文章,相信你对“Python locust工具怎么用”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网Python频道,感谢各位的阅读!

--结束END--

本文标题: Python locust工具怎么用

本文链接: https://www.lsjlt.com/news/250524.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python locust工具怎么用
    小编给大家分享一下Python locust工具怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自...
    99+
    2023-06-08
  • python轻量级性能工具-Locust详解
    目录性能测试基础locust安装locust模板 集合点lr_rendezvous比较常见的用法Locust基于python的协程机制,打破了线程进程的限制,可以能够在一台...
    99+
    2023-05-18
    python性能工具Locust python Locust
  • python online工具怎么使用
    要使用Python的在线工具,可以按照以下步骤进行操作:1. 打开任意一个支持在线Python编程的网站,例如replit、Pyth...
    99+
    2023-09-20
    python
  • Python中click工具怎么用
    这篇文章主要介绍了Python中click工具怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、快速开始命令行使用能在运行的时候动态传值让程序做自己想做的事情。现在有一...
    99+
    2023-06-16
  • python中Locust的作用是什么
    今天就跟大家聊聊有关python中Locust的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和...
    99+
    2023-06-15
  • python中怎么利用locust实现性能测试
    python中怎么利用locust实现性能测试,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。官方的demo,这里把登陆和登出给改成打印了,其实就是压力测试执行之...
    99+
    2023-06-02
  • python的生态工具怎么用
    这篇文章主要介绍“python的生态工具怎么用”,在日常操作中,相信很多人在python的生态工具怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python的生态工具怎么用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-04
  • Python工具Conda怎么安装使用
    本篇内容介绍了“Python工具Conda怎么安装使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Con...
    99+
    2024-04-02
  • Python命令行工具clint怎么用
    这期内容当中小编将会给大家带来有关Python命令行工具clint怎么用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Clint 是一个包含了用于开发命令行应用的工具集合模块。它支持高亮,但是在会话为 T...
    99+
    2023-06-02
  • Python可视化工具Plotly怎么用
    小编给大家分享一下Python可视化工具Plotly怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一.简介发展由来:随着信息技术的发展和硬件设备成本的降低,...
    99+
    2023-06-22
  • python调试工具pdb怎么使用
    这篇文章主要讲解了“python调试工具pdb怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python调试工具pdb怎么使用”吧!一、pdb 有2种用法pdb:python deb...
    99+
    2023-07-04
  • Python包管理工具pip怎么使用
    这篇“Python包管理工具pip怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python包管理工具pip怎么使用...
    99+
    2023-06-30
  • python进程管理工具怎么使用
    Python进程管理工具可以通过多种方式使用,以下是一些常见的用法示例:1. 使用`os`模块创建新的进程:```pythonimp...
    99+
    2023-10-12
    python
  • oratop工具怎么用
    这篇文章主要介绍了oratop工具怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 Doc ID 15008...
    99+
    2024-04-02
  • SanicDB工具怎么用
    这篇文章主要为大家展示了“SanicDB工具怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SanicDB工具怎么用”这篇文章吧。SanicDB 是为 Python的异步 Web 框架 Sa...
    99+
    2023-06-02
  • 怎么使用Python的调试工具PySnooper
    本篇内容介绍了“怎么使用Python的调试工具PySnooper”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PySnooper 使用起来十...
    99+
    2023-06-16
  • 怎么使用Python自动化工具Fabric
    这篇文章主要讲解了“怎么使用Python自动化工具Fabric”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Python自动化工具Fabric”吧!Fabric 主要用在应用部署与系...
    99+
    2023-06-16
  • python对excel交互工具怎么使用
    这篇文章主要介绍了python对excel交互工具怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python对excel交互工具怎么使用文章都会有所收获,下面我们一起来看看吧。python 对excel...
    99+
    2023-07-02
  • mysqldumpslow工具怎么用
    小编给大家分享一下mysqldumpslow工具怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!mysqldumpslow工具开启慢查询查看慢查询相关参数slow_query_log:...
    99+
    2024-04-02
  • OSW工具怎么用
    这篇文章给大家分享的是有关OSW工具怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 1.概述 使用oracle的osw工具,可以对系统的CPU和内存,磁盘等进行图形化的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作