您的位置:起点软件下载电脑软件系统软件Locust v1.4.4

Locust v1.4.4Locust v1.4.4

软件大小:1.0MB

用户评分:

软件类型:国产软件

运行环境:Win All

软件语言:简体中文

软件分类:系统软件

更新时间:2021-04-29 09:25:20

授权方式:免费软件

插件情况:无 插 件

负载测试 网络测试 访问测试

Locust,一款主打负载测试的软件,为网站进行数据的访问测试服务,帮助小伙伴一键了解自己的数据,更好的维护自己的网站,还可以轻松测试自己的浏览,访问等等数据,为小伙伴提供更多的帮助!

Locust详情

Locust是一个开源的负载测试工具,用Python代码定义用户行为,让数百万用户同时在你的系统中蜂拥而至,主要为网站或者其他系统进行负载测试,能测试出一个系统可以并发处理多少用户。

Locust特色

①、不需要编写笨重的UI或者臃肿的XML代码,基于协程而不是回调,脚本编写简单易读;

②、有一个基于we简洁的HTML+JS的UI用户界面,可以实时显示相关的测试结果;

③、支持分布式测试,用户界面基于网络,因此具有跨平台且易于扩展的特点;

④、所有繁琐的I / O和协同程序都被委托给gevent,替代其他工具的局限性;

Locust

Locust初步使用

概念理解(翻译):

1. 超级类是 locust 类,它的每一个实例代表了一个用户, 守护程序会为每一个模拟用户生成一个实例

2. httplocust 继承了locust 类, 添加了可以发送http请求的功能

3. locust 有一个属性(成员变量)是 task_set , 它可以定义用户的行为, 就是访问哪些URL, post还是get, 每个连接占总访问量比是多少

这个task_set 是类TaskSet(或其子类)的一个实例, 上边说的各种行为就是在这个类里边定义的

4. locsut类:

属性: min_wait/max_wait 模拟用户有在上边说的类中定义了好多任务/行为, 每个任务/行为间隔多久执行一次, 单位是毫秒, 默认1000, 也即隔一秒种后执行下一个任务

属性: weight 权重: 模拟时, 同一段时间, 手机用户的访问量要比PC的访问量大, 那么对应的locust(或其子类)的weight值就大小不一

属性: host 就是需要被压测的网站的域名(或域名前缀), 如果启动服务时没有通过参数-host来指定域名, 那么就用使用该host属性指定的值

TaskSet类:

1. 推荐的是, 在taskset类(或子类)中通过在行为(回调函数)前加@task(weight)描述符来指定某一个行为被执行的频率

2. 或者先定义行为(回调函数), 然后通过属性tasks来指定每一个行为被执行的频率 tasks=[fun1, fun2....] 或者 tasks={fun1:weight1, fun2:weight2......}

3. 不管怎样定义, 里边的行为或函数是被随机调用/执行的, 只是根据weight的不通, 随机到的频率不通而已

4. 而且, 行为/任务可以嵌套执行, 先执行task1(也就是 fun1 下同), 然后执行task2 ..... 这样会更真实的模拟,

其写法就是, 将这些有关联任务定义/封装到一个taskset子类中, 然后通过上边介绍的 tasks属性tasks={classname:weight}, 在另一个TaskSet子类中去关联该类以达到嵌套的目的

5. 在执行子任务时, 通过 self.interrupt() 来终止子任务的执行, 来回到父任务类中执行, 否则子任务会一直执行

6. 成员函数, on_start(), 如果定义的话, 就会在开始的时候执行

HttpLocust类

1. 他可以发送http请求, 他有一个属性叫client(实例化的时候自动生成), 存储HttpSession类的实例(HttpSession类在实例化Locust的时候自动创建), 用来保存请求session

2. TaskSet类里也有属性client: self.client.get()或者self.client.post(), 这个client内部就是httplocust里的client

3. 请求返回一个对象, 他有两个成员, response.status_code 和 response.content

4. 如果因连接失败, 超时等等原因造成请求失败, 不会发出异常, 而是将上边的content置为空, status_code 置为0

5. 可以对返回content内容自定义处理, 因为有的时候返回404是你希望得到的

1 with client.get("/does_not_exist/", catch_response=True) as response: 2 if response.status_code == 404: 3 response.success()

6.对网站来说, 一个URL的参数是固定的, 但是参数值是不定的, 也可以处理

Locust功能

在代码中定义用户行为

不需要笨重的用户界面或臃肿的XML。只是简单的代码。

分布式和可扩展性

Locust支持运行分布在多台机器上的负载测试,因此可以用来模拟数百万个同步用户。

经过验证和实战检验

Locust已经被用来模拟数百万的同时用户。战地游戏的网页应用Battlelog就是使用Locust进行负载测试的,所以真的可以说Locust是经过战地测试的;)。)

Locust评测

Locust,提供专业的测试服务,带给小伙伴更多的测试便利!

精品软件

用户评论

(您的评论需要经过审核才能显示)0人参与,0条评论
140

最新评论

还没有评论,快来抢沙发吧!