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消息,然后睡一会,然后自己把自己杀死

locust中的监听器的更多相关文章

  1. 在web.xml中配置监听器来控制ioc容器生命周期

    5.整合关键-在web.xml中配置监听器来控制ioc容器生命周期 原因: 1.配置的组件太多,需保障单实例 2.项目停止后,ioc容器也需要关掉,降低对内存资源的占用. 项目启动创建容器,项目停止销 ...

  2. 在Java Web程序中使用监听器可以通过以下两种方法

    之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响 ...

  3. Button 在布局文件中定义监听器,文字阴影,自定义图片,代码绘制样式,添加音效的方法

    1.Button自己在xml文件中绑定监听器 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro ...

  4. Java中的监听器

    servlet的技术规范包括三个:servlet,listener,filter,今天记录一下listener的学习. 监听器就是监听某个对象的状态变化的技术.监听器包括事件源,监听器,注册监听器以及 ...

  5. JavaWeb中的监听器

    JavaWeb中的监听器 l  事件源:三大域! ServletContext ¨       生命周期监听:ServletContextListener,它有两个方法,一个在出生时调用,一个在死亡时 ...

  6. EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统

    EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...

  7. 转 16 jmeter中的监听器以及测试结果分析

    16 jmeter中的监听器以及测试结果分析   常用监听器 断言结果.查看结果树.聚合报告.Summary Report.用表格查看结果.图形结果.aggregate graph等 指标分析 -Sa ...

  8. 十一:JavaWeb中的监听器(二)

    一.监听域对象中属性的变更的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信 ...

  9. 十:JavaWeb中的监听器(一)

    2.1.基本概念 JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 ServletRequest等域 ...

  10. Web中的监听器【Listener】

    Servlet监听器:Servlet规范中定义的一种特殊类,它用于监听Web应用程序中的ServletContext.HttpSession和ServletRequest等域对象的创建与销毁事件,以及 ...

随机推荐

  1. WPF ScrollViewer 没有效果

    ScrollViewer组件外组件如果是StackPanel组件 需要给StackPanel 设置高度,ScrollViewer 才会有滚动条 如果不想设置StackPanel高度,可以把StackP ...

  2. postgresql序列基本操作

    1.创建序列 CREATE SEQUENCE if not exists test_mergetable_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 99999999 ...

  3. mysql explain 查看sql语句执行计划概述

    mysql explain 查看sql语句执行计划概述 id:选择标识符select_type:表示查询的类型.table:输出结果集的表partitions:匹配的分区type:表示表的连接类型po ...

  4. Prometheus监控操作

    一.架构说明 ➢ Prometheus Server:Prometheus 生态最重要的组件,主要用于抓取和存储时间序列数据, 同时提供数据的查询和告警策略的配置管理: ➢  Alertmanager ...

  5. Educational Codeforces Round 137 (Rated for Div. 2) - F. Intersection and Union

    (线段树 + 思维)or 动态dp [Problem - F - Codeforces](https://codeforces.com/contest/1743/problem/E) 题意 数轴上有 ...

  6. vue 利用xlsx、xlsx-style、file-saver实现前端导出excel表格 (包括设置单元格居中、边框等样式) antdesignvue、elementui、vxetable 等都适用

    我用的方法是在表格的根组件外层赋一个div用来导出整个表格,所以antdesignvue.elementui.vxetable 或者原生的table写法应该全都适用,此处我用的框架为antdesign ...

  7. gitlab中CI/CD过程中的坑

    先上观点,azure的pipeline比gitlab ce版好用,gitlab收费版没有用过. 在.gitlab-ci.yml中的特殊字符处理: 解决方法: cmd="[$var1] &am ...

  8. LINUX 简单命令学习总结

    命令知识点大纲: 一.默认目录的简单介绍 1)/root/用户名:如/root/test1,该目录为普通用户的家目录,所有用户创建后都能在该目录下找到自己对应的目录信息 /etc:该目录为配置文件存放 ...

  9. Linux docker 安装nginx 配置ssl证书

    Linux docker 安装nginx 配置ssl证书 如果觉得样式不好:跳转即可 md文件复制过来有些样式会不一样) 原文地址:https://lifengying.site/archives/b ...

  10. WinForms 嵌入 Web服务

    1.首先安装一个Kestrel服务器包 Microsoft.AspNetCore.Server.Kestrel 2.在Main方法中插入如下代码 static class Program { /// ...