locust 压测 websocket

* 安装 python 3.8

    https://www.python.org/

    py --version

* 安装 locust

    pip install locust==2.5.1 -i http://pypi.douban.com/simple/

    pip install locust==2.5.1 -i https://pypi.mirrors.ustc.edu.cn/simple/

    locust -V

备注:-i 是切换下载源

* 安装依赖

    pip install websockets

    pip install websocket

    pip install websocket_client

* 新建文件 main.py

import time
import websocket
from locust import User, task, between, eventsclass WebSocketUser(User):wait_time = between(1, 2)def on_start(self):self.connection_status = Falsetry:self.client = websocket.create_connection("ws://127.0.0.1:7777")self.connection_status = Trueevents.request_success.fire(request_type="ws connect", name="connect Success",  response_time=0, response_length=0)except Exception as e:print(e)events.request_failure.fire(request_type="ws connect", name="connect Fail", exception=e, response_time=0, response_length=0)def on_stop(self):if self.connection_status:self.client.close()@taskdef ws_task(self):if self.connection_status:try:request = '{"cmd":"2","subcmd":"1","data":{"account":"daming","password":"daming"}}'start_time = time.time()self.client.send(request)response = self.client.recv()# print("response=", response)total_time = int((time.time() - start_time) * 1000)events.request_success.fire(request_type="ws send", name="Send Success", response_time=total_time, response_length=0)except Exception as e:total_time = int((time.time() - start_time) * 1000)events.request_failure.fire(request_type="ws send", name="Send Fail", exception=e, response_time=total_time, response_length=0)

* 进入到路径下 

        locust -f main.py

* 网页查看 

        http://localhost:8089/

搞1000个号去连接  每秒连接数为10个号

查看:RPS:每秒钟请求的个数, 在进行性能测试时,要参考设置的并发数进行分析

没有点击 停止的话会一直执行下去。

把服务器关闭试试  会有发送失败的出现

查看生成的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/227991.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Electron框架:构建跨平台桌面应用的终极解决方案

文章目录 一、Electron框架简介二、Electron框架的优势1. 开发效率高2. 跨平台性能好3. 易于维护4. 强大的原生能力 三、如何使用Electron框架快速开发跨平台桌面应用1. 安装Electron2. 创建项目文件夹3. 编写主进程代码4. 编写界面代码5. 运行应用 《Electron入门与实战》编辑…

《软件方法》2023版1.1利润=需求-设计1.2 ABCD工作流

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 第1章 建模和UML 牵着你走进傍晚的风里,看见万家灯火下面平凡的秘密。 《情歌唱晚》;词:黄群,曲:黄群,唱&#…

word文档实现“目录索引中标题加粗、前导符(...)和页码不加粗”效果

文章目录 1 展示论文模板需要呈现的效果2 所遇到的问题2.1 情形1:当更新整个目录后,目录中的所有文字都不加粗2.2 情形2:无法单独选中文字部分,如果相对文字部分加粗,则前导符和页码也会同时加粗 3 解决步骤3.1 步骤1&…

CIDR(无类域间路由)与VLSM(可变长度子网掩码)的区别

CIDR和VLSM的介绍 CIDR CIDR(Classless Inter-Domain Routing,无类域间路由)是一种用于对互联网协议(IP)地址进行聚合和分配的标准。CIDR的引入旨在解决IPv4地址空间的不足和低效分配的问题。在传统的IP地址规划中&a…

关键点检测之修改labelme标注的json中类别名

import json import os import shutil#source_dir表示数据扩增之后的文件夹路径,此时标注的是多分类的标签 #new_dir表示转化之后得到的二分类文件夹def to2class():#json存放路径source_dir r1#json保存路径new_dir r1for i in os.listdir(source_dir):if i.ends…

文本聚类——文本相似度(聚类算法基本概念)

一、文本相似度 1. 度量指标: 两个文本对象之间的相似度两个文本集合之间的相似度文本对象与集合之间的相似度 2. 样本间的相似度 基于距离的度量: 欧氏距离 曼哈顿距离 切比雪夫距离 闵可夫斯基距离 马氏距离 杰卡德距离 基于夹角余弦的度量 公式…

银行数字化转型导师坚鹏:银行数字化转型正在重塑您的工作

您好,我是银行数字化转型导师坚鹏。坚持知行果合一,赋能数字化转型!非常荣幸和您分享关于银行数字化转型如何影响老百姓工作的一些思考。 您知道吗?银行数字化转型给您的工作方式带来新变化、新趋势、新潮流啦!在这个…

Ubuntu 命令行安装 Clang 16或者Clang 17的过程

相关文章: How to install Clang 17 or 16 in Ubuntu 22.04 | 20.04 | UbuntuHandbook 在Ubuntu里面可以方便的用apt工具安装Clang 10, 11, 12, 13, 14 以及15。例如安装Clang 15只需要在Terminal中输入如下命令即可: sudo apt install clang-15 目前版本的Ubuntu如果想直接…

一分钟解决:vscode卡在“设置SSH主机:VS Code-正在本地下载 VS Code 服务器”

问题:vscode之前可正常使用,更新之后,连接服务器卡住了。 解决:从CMD或者你的终端连接服务器,进入vscode-server目录下,删除一些文件夹就行,然后使用vscode重新链接,它会自动下载新…

小程序生命周期

小程序的生命周期函数是一组在小程序运行过程中自动触发的函数,开发者可以在这些函数中编写相应的代码,实现对应的功能。以下是常用的小程序生命周期函数及其说明: onLaunch(options):小程序初始化时触发,只执行一次。…

系列七、函数

一、函数 1.1、概述 函数 是指一段可以直接被另一段程序调用的程序或代码。 也就意味着,这一段程序或代码MySQL中已经为我们提供好了,我们要做的就是在合适的业务场景调用对应的函数完成相应的业务需求即可。 1.2、分类 按照业务分类,MySQL中…

基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目

演示视频: 基于SSM的影视企业全渠道会员管理系统(有报告)。Javaee项目 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring S…

Python将列表中的数据写入csv并正确解析出来

用Python做数据处理常常会将数据写到文件中进行保存,又或将保存在文件中的数据读出来进行使用。通过Python将列表中的数据写入到csv文件中很多人都会,可以通过Python直接写文件或借助pandas很方便的实现将列表中的数据写入到csv文件中,但是写…

计算机毕业设计 基于SpringBoot的物资管理信息系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

nginx_rtmp_module 之 ngx_rtmp_live_module模块

模块作用 直播模块代码 ngx_rtmp_live_module.c,主要作用是:当客户端推流或者拉流的时候,创建的rtmp session会加入到 live 模块的存储链表中。 模块配置命令 static ngx_command_t ngx_rtmp_live_commands[] {{ ngx_string("live&…

SQL规约

文章目录 前言SQL规约-索引注意字段类型利用覆盖索引利用有序性禁模糊 超过三个表禁止 joinSQL规约-count拒绝替代计算不重复行数当值全是NULL时 SQL规约-分页若 count 为 0优化超多分页场景 SQL规约-null值使用 ISNULL()来判断是否为 NULL 值NULL< >NULLNULLNULLNULL<…

vue3 插槽slot

插槽是子组件中的提供给父组件使用的一个占位符&#xff0c;用 <slot> 表示&#xff0c;父组件可以在这个占位符中填充任何模板代码&#xff0c;如 HTML、组件等&#xff0c;填充的内容会替换子组件的<slot> 元素。<slot> 元素是一个插槽出口 (slot outlet)&…

蓝桥杯专题-真题版含答案-【骑士走棋盘】【阿姆斯壮数】【Shell 排序法 - 改良的插入排序】【合并排序法】

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

李宏毅机器学习2023课程记录(1)--课程介绍

李宏毅机器学习2023课程记录(1)–课程介绍 在这里&#xff0c;记录我最近听的李宏毅老师的机器学习课程的一些笔记和感想&#xff0c;进行归纳总结同时方便后续复习回顾。 注&#xff1a;这门课虽然叫做机器学习&#xff0c;但是李宏毅老师讲课主要以深度学习的技术&#xff0…

接口-幂等性问题

1.什么是接口的幂等性&#xff1f; 接口的幂等性就是一个接口无论是调用一次还是多次&#xff0c;最后的结果应该是一样的。2.为何需要保证接口的幂等性&#xff1f; 因为服务之间调用&#xff0c;可能存在超时。如果是成功或者失败&#xff0c;那么程序都是正常的。当出现超…