locust中的监听器
locust的master相关的几个监听器:
心跳监听器:
一个while循环,不断判断所有client当前的心跳状况,如果有一个client失去了心跳,就打印了一个警告日志,如果所有client都失去了心跳,就主动停止测试
client监听器:
一个while循环,不断接受client发送的消息,根据发送消息的类型的不同做出相应的处理
消息类型:
client_ready:client发给master的,代表client已经启动
heartbeat:client发给master的,代表client是存活状态
swap:master发给client,告诉client开始扩充用户数
swapping:client发给master的,代表正在扩充用户数
complete_swaping:client发给master,代表扩充用户完成达到执行的数量,发送完这个消息之后就开始测试了
stats:client发给master,每隔一定时间就上报结果消息给master
client_stopped:client发给master,代表测试结束了
quit:client发给master的,告诉master自己退出了,master收到消息会更新当前可用的client列表,如果所有client都quit了,那么master自己也会stop&&quit
exception:client 发给master的,master会记录异常内容
slave相关的事件:
心跳上报:while循环每隔一段时间就会给master发送心跳消息
消息接收:while循环:一直接受master发送的消息,根据不同的消息类型做出相应的动作
swap:master发给slave,告诉我开始扩展用户
stop:master发给slave,告诉slave停止测试
quit: master发个slave,告诉slave退出
其他的消息类型:注册了监听器的消息类型(但是不等于swap,stop,quit),然后会调用相应的监听器
别的消息类型:报错
结果上报:每隔一段时间上报结果数据
启动master的时候会指定期望的slave的数量,比如指定了2个,那么当master收到2个slave发来的client_ready的消息才会分别给每个slave发送spawn
的消息,并且更新状态是spawning, 当收到所有client发送的spawing_complete的消息的时候更新状态是running
收到client_stopped的消息,会把client那个节点删除
收到quit的消息,会把client删除,当收到所有的client的quit消息的时候,master停止,如果状态不是初始化,已停止,停止中,修改状态是停止中,给他每个client发送停止消息,如果是--headless,非web方式启动,给每个client发送quit消息,然后睡一会,然后自己把自己杀死
最新文章
- Data source rejected establishment of connection, message from server: ";Too many connections";解决办法
- 第52讲:Scala中路径依赖代码实战详解
- IOS- Run Loops
- coco2dx加载网络图片并保存
- Summary of java stream classes
- Halcon学习笔记之缺陷检测(二)
- 对于python的内存管理的好文章
- 【模拟】Vijos P1062 迎春舞会之交谊舞
- poj 1089 Intervals
- Beacon浅析
- 初步STL集装箱List
- 关于IntelliJ IDEA删除项目
- RPC-非阻塞通信下的同步API实现原理,以Dubbo为例
- 用R语言做数据清理
- [APIO2013]机器人(斯坦纳树)
- Part-Three 类与对象
- Xamarin.Android 无法检索到 Resource 问题
- linux安装curl扩展
- 按行拆分文本文件与合并文本文件---I/O流---java
- 2018.07.04 POJ 1113 Wall(凸包)
热门文章
- 微信小程序的全局弹窗以及全局实例
- vue-fullpage全屏插件使用
- 探索 C 语言的指针
- k8s(docker-desktop)简单搭建zookeeper三节点集群
- 爆肝200+小时,总结出的 Creator 3.x 入门修炼指南!全免费
- 多个module的verilog文件分割为多个文件
- video.js 注销上一个对象并重新初始化
- 《用Python写网络爬虫》pdf高清版免费下载
- 【问题】Windows(CR LF)和Unix(LF)
- Eureka出现Connect to localhost:8761 timed out问题