分类分类
大小:1.02 MB 更新:2024/06/04
类别:其他软件系统:WinAll
Locust是一款非常专业且优秀的开源负载测试工具,通过这款软件可帮助用户快速对网站或其它系统进行负载测试,从而能够快速了解一个系统能够并发处理的用户数,该软件易于使用,可使用该软件编写脚本且拥有可扩展性,因为您可以使用常规的Python代码定义用户的行为,相对于一些比较笨拙的UI或特定于域的语言,这使得Locust可以无限扩展,并且对于开发人员来说也非常友好,在Locust中可采取不同的方法代替配置格式或UI,从而获得一个Python框架,欢迎有需要的用户下载体验
在代码中定义用户行为
不需要笨拙的UI或庞大的XML。只是普通的代码。
分布式和可扩展
Locust支持分布在多台计算机上的运行负载测试,因此可用于模拟数百万个同时用户
经过验证和战斗力测试
蝗虫已被用来模拟数百万个并发用户。Battlelog是《战地风云》游戏的网络应用程序,已使用Locust进行了负载测试,因此可以说Locust经过了Battletested;)。
范例程式码
Locust的基本功能是用Python代码描述所有测试。不需要笨拙的UI或庞大的XML,只需简单的代码即可。
用普通的Python编写用户测试方案
如果希望用户循环,执行某些条件行为或进行某些计算,则只需使用Python提供的常规编程结构即可。Locust在其自己的greenlet(轻量级进程/协程)中运行每个用户。这使您能够像普通(阻塞)Python代码一样编写测试,而不必使用回调或其他某种机制。因为您的场景是“仅是python”,所以您可以使用常规的IDE,并以常规代码的形式对测试进行控制(与其他一些使用XML或二进制格式的工具相对)
分布式和可扩展-支持数十万用户
Locust使运行分布在多台计算机上的负载测试变得容易。它是基于事件的(使用gevent),这使得单个进程可以处理成千上万的并发用户。尽管可能还有其他工具可以在给定的硬件上每秒执行更多请求,但是每个Locust用户的低开销使其非常适合测试高并发工作负载。
基于Web的UI
Locust具有用户友好的Web界面,可实时显示测试进度。您甚至可以在测试运行时更改负载。它也可以在没有UI的情况下运行,从而使其易于用于CI / CD测试。
可以测试任何系统
即使Locust主要与网站/服务一起使用,它也可以用于测试几乎所有系统或协议。只需 为您要测试的内容编写一个客户端,或者浏览社区创建的一些客户端。
快速开始在Locust中,您可以使用Python代码定义用户行为。然后,您可以使用该locust命令和(可选)其Web界面在收集请求统计信息时生成并模拟大量这些用户。
locustfile.py示例
让我们分解一下
蝗虫文件只是普通的Python模块,它可以从其他文件或包中导入代码。
在这里,我们为将要模拟的用户定义一个类。它继承自 HttpUser该client属性,从而为每个用户提供一个属性,该属性是的一个实例HttpSession,可用于向要加载测试的目标系统发出HTTP请求。当测试开始时,蝗虫将为它模拟的每个用户创建一个此类的实例,并且这些用户中的每个将开始在自己的绿色gevent线程中运行。
我们的类定义了一个wait_time,它将使模拟用户在执行每个任务(请参阅下文)之后等待1到2.5秒。有关更多信息,请参见wait_time属性。
装饰有方法的方法@task是蝗虫文件的核心。对于每个正在运行的用户,Locust都会创建一个greenlet(微线程),它将调用这些方法。
我们通过用修饰两个方法来声明了两个任务@task,其中一个具有较高的权重(3)。当我们QuickstartUser运行它会挑的申报任务之一-在这种情况下,无论是hello_world或 view_items-并执行它。任务是随机选择的,但是您可以赋予它们不同的权重。上面的配置将使蝗虫的采摘可能性view_items比蝗虫高3倍hello_world。任务完成执行后,用户将在其等待时间(在这种情况下为1到2.5秒)内进入睡眠状态。等待时间过后,它将选择一个新任务并继续重复执行。
请注意,只会选择用修饰符修饰的方法@task,因此您可以根据自己的喜好定义自己的内部帮助器方法。
该self.client属性使得可以进行将由Locust记录的HTTP调用。有关如何发出其他类型的请求,验证响应等信息,请参阅《 使用HTTP客户端》。
在此view_items任务中,我们使用变量查询参数加载10个不同的URL。为了使Locust的统计信息中没有10个单独的条目(由于统计信息是按URL分组的),我们使用name参数将所有这些请求分组到一个名为的条目下"/item"。
此外,我们还声明了一个on_start方法。每个模拟用户在启动时都会调用具有该名称的方法。有关更多信息,请参见on_start和on_stop方法。
蝗虫开始将以上代码放在当前目录中名为locustfile.py的文件中,然后运行:
如果您的蝗虫文件位于其他位置,则可以使用进行指定 -f
蝗虫的网络界面使用上述命令行之一启动Locust后,应该打开浏览器并将其指向http://127.0.0.1:8089。然后,您应该会收到类似以下内容的问候:
填写表格并尝试!(但请注意,如果您不更改蝗虫文件以匹配实际的目标系统,则大多数情况下会收到错误响应)
更多选择要运行分布在多个Python进程或计算机上的Locust,可以使用--master命令行参数启动单个Locust主进程,然后使用--worker 命令行参数启动任意数量的Locust worker进程。有关更多信息,请参见运行蝗虫。
要直接开始测试而不使用Web界面,请使用--headless。
也可以通过环境变量或在 配置文件中设置参数。
要在无头运行期间添加/删除用户,请按w或W(1,10)生成用户,按s或S停止(1,10)。
编写蝗虫文件locustfile是普通的python文件。唯一的要求是,它声明至少一个从该类继承的类User。
用户类别一个用户类别代表一个用户(如果愿意,则代表一群蝗虫)。蝗虫将为每个正在模拟的用户生成User类的一个实例。User类可以定义一些公共属性。
wait_time属性用户wait_time方法是一个可选属性,用于确定模拟用户在执行任务之间应等待多长时间。如果未wait_time 指定,则一项新任务将立即执行。
内置了三个等待时间功能:
constant 在固定的时间内
between 在最大值和最小值之间的随机时间
constant_pacing 自适应时间,以确保任务每X秒(最多)运行一次
例如,使每个用户在每次任务执行之间等待0.5到10秒:
也可以在类上直接声明自己的wait_time方法。例如,下面的User类将休眠一秒钟,然后休眠两个,然后休眠三个,依此类推。
体重属性如果文件中存在多个用户类,并且在命令行上未指定任何用户类,则Locust将产生相等数量的每个用户类。您还可以通过将它们作为命令行参数传递,来指定要从同一locustfile中使用哪些用户类:
如果您希望模拟更多特定类型的用户,则可以在这些类上设置一个weight属性。举例来说,网络用户的可能性是移动用户的三倍:
主机属性host属性是要加载的主机的URL前缀(即“ http://google.com ”)。通常,这是在蝗虫--host启动时在Locust的Web UI或命令行中使用该 选项指定的。
如果在用户类中声明了主机属性,则--host 在命令行或Web请求中未指定任何主机属性的情况下将使用该属性。
任务属性User类可以使用@task装饰器在其下声明为方法的任务,但是也可以使用task属性指定任务,这将在下面更详细地描述。
环境属性environment对用户正在其中运行的引用。使用它与环境或runner其所包含的环境进行交互。例如,从任务方法停止跑步者:
如果在独立蝗虫实例上运行,则将停止整个运行。如果在工作程序节点上运行,它将停止该特定节点。
CIMCO Edit 其他软件276.25 MB7.5 简体中文版
详情CKplayer网页播放器 其他软件336 KB6.6 免费版
详情WordPress 其他软件6.7 MB4.1 英文版
详情Discuz论坛 其他软件4.05 MB官方版
详情Guns后台管理系统 其他软件12.5 MBv7.0.3 官方版
详情狂雨小说cms 其他软件7.8 MBv1.3.2 官方版
详情Slidev(开发幻灯片展示) 其他软件8.52 MBv0.10.2 官方版
详情魔众短链接系统 其他软件27.5 MBv2.0.0 官方版
详情易语言资源网源码下载工具 其他软件1.51 MBv1.0 免费版
详情W5 SOAR(自动化响应平台) 其他软件6.8 MBv0.4 官方版
详情魔众文档管理系统 其他软件28.8 MBv3.0.0 官方版
详情Milvus(矢量数据库) 其他软件6.0 MBv1.1.0 官方版
详情FlatBuffers(序列化库) 其他软件1.95 MBv2.0.0 官方版
详情Wendasns(问答社区系统) 其他软件7.8 MBv1.1.5 官方版
详情DM企业建站系统 其他软件14.0 MBv2021.5a 官方版
详情Ember.js(JavaScript框架) 其他软件1.66 MBv3.27.0 官方版
详情Exifr(EXIF读取库) 其他软件42.1 MBv7.0.0 官方版
详情RavenDB数据库 其他软件64.5 MBv5.1.7 官方版
详情iWebShop(开源商城系统) 其他软件11.5 MBv5.9.210101 官方版
详情OElove(婚恋交友系统) 其他软件28.7 MBv8.1 官方版
详情点击查看更多
ThinkSNS 其他软件20 MB4.6.1 免费版
详情CKplayer网页播放器 其他软件336 KB6.6 免费版
详情vqqq.com带20000数据库的笑话程序 其他软件300 KB2.0 官方版
详情EXE文件加口令源代码 其他软件799 KB3.0 官方版
详情PPTV网络电视系统 其他软件1.27 MB4.0.1.0 官方版
详情建站专家网站建设系统 其他软件20.02 MB1.0.4.1819 官方版
详情Turbo C 2.0库函数速查 其他软件71 KB1.0 官方版
详情中国联通SGIP1.2短消息网关客户端程序 其他软件54 KB1.37 官方版
详情伤感文学CMS文章发布系统 其他软件4.11 MB2.0 官方版
详情娱乐先锋论坛 其他软件1.31 MB5.3 官方版
详情笔试考试源代码 其他软件1.17 MB1.0.0 官方版
详情Deluge For Linux 其他软件2.79 MB1.0.0 官方版
详情幻影留言版(ASP多用户版) 其他软件567 KB5.30 官方版
详情GeniusBBS 其他软件475 KB1.1 官方版
详情上机考试源代码 其他软件1.01 MB1.0.0 官方版
详情vqqq.com在线网页编辑asp源码 其他软件22 KB1.0.0 官方版
详情CIMCO Edit 其他软件276.25 MB7.5 简体中文版
详情狐狗网页源代码显示器 其他软件434 KBBuild1214 官方版
详情农业企业网站模板中英繁企业网站管理系统源码 其他软件2.18 MB2010 官方版
详情vqqq.com多用户ip统计asp源码 其他软件134 KB1.0.0 官方版
详情点击查看更多
王者棋牌cc老版本 休闲益智61.5MBv7.2.0
详情老式水果机单机版 休闲益智0MBv1.0
详情开元棋盘财神捕鱼官网版下载 休闲益智54.7MBv7.2.0
详情开元棋脾595cc 休闲益智61.5MBv7.2.0
详情森林舞会飞禽走兽 休闲益智0MBv1.0
详情波克城市棋牌 休闲益智61.5MBv7.2.0
详情狂暴捕鱼官网504.1 休闲益智61.5MBv7.2.0
详情角落棋牌官方网站 休闲益智61.5MBv7.2.0
详情明星三缺一手机单机版 休闲益智61.5MBv7.2.0
详情ky棋牌网站大全98 休闲益智61.5MBv7.2.0
详情牛牛下载金币版苹果 休闲益智61.5MBv7.2.0
详情老式水果机投币游戏机 休闲益智0MBv1.0
详情老式水果机游戏 休闲益智0MBv1.0
详情彩虹多多极速版 生活服务33.2MBv9.9.9
详情狂暴捕鱼官网有330.3版本官方 休闲益智61.5MBv7.2.0
详情贪玩娱乐苹果官方下载 休闲益智0MBv7.2.0
详情琼崖海南麻将15旧版下载 休闲益智61.5MBv7.2.0
详情琼星海南麻将官方下载安装2024 休闲益智61.5MBv7.2.0
详情水果机游戏单机 休闲益智0MBv1.0
详情水果机投币游戏机单机版免费版 休闲益智0MBv1.0
详情点击查看更多