首页 > 其他分享 >websocket 压测

websocket 压测

时间:2024-04-18 18:00:12浏览次数:30  
标签:用户端 websocket socket 压测 线程 测试 导购

压测背景:项目上线需要知道有多少个用户和导购能同时在线,并且正常使用
场景分析:先进行用户端连接服务器,然后导购端在链接服务器,然后开始拉取视频列表,最后接听视频
脚本设计:设置三个线程组

    1. 线程组一,负责用户端链接socket, 并且发送请求视频通话请求
    1. 线程组二,负责导购端链接socket, 并且发送心跳
    1. 线程组三,负责拉取视频和接听通话
    1. 三个线程组的执行先后顺序是,线程组一和线程组二同时执行,线程组三等待5秒之后再执行

一轮测试:只测试了用户端去连接socket , 结果:超过50个以上的线程,就会导致报错
于是进行排查,主要去修改服务器的连接数

二轮测试:任然只是去测试用户端去连接socket,结果:修改的配置不起作用
于是开发加了资源,多加了一个cpu

三轮测试:任然只是去测试用户端去连接socket,结果:加的资源不起作用
于是开发开始排查是否是网关的问题,

四轮测试:任然只是去测试用户端去连接socket, 这次是换成ip加端口去测试,结果:并发可以达到800用户
于是初步把问题定位在网管这里,提议把把启动线程的时间延长,这里主要是因为域名解析和到达网管服务之前,有一个防火墙,防火墙机制会去检测一些奇怪的请求,例如同时大量来自同一ip请求过来的访问,
会被视为恶意攻击!!!!

五轮测试:任然只是去测试用户端去连接socket, 这次是用域名去测试,不过启动线程了时间变成了800秒,结果:先后在800秒内,同时能有800的用户访问

六轮测试:这次同时测试了用户端和导购端,结果:在500个用户的情况下,启动10个导购,都报错了
于是定位导购端代码是不是有问题(这时候已经排除了网关的问题),开发把一个同步的操作改成了异步

七轮测试:这次同时测试了用户端和导购端,结果:在500个用户的情况下,启动50个导购,能顺利平稳的运行

至此,整个压测其实持续了三天,经过了几十轮的调整,优化,最终能得出一个合理的压测结论。

感想:这次压测能进行的比较顺利,主要是因为开发高度配合,定位问题,甚至请求到了安全部门的人在配合,通过这次压测,掌握如下知识

  1. 如何使用jmeter进行websocket协议接口的压测脚本编写
  2. 了解了在遇到性能问题是,开发是如何排查问题的

标签:用户端,websocket,socket,压测,线程,测试,导购
From: https://www.cnblogs.com/meimeizi/p/18144078

相关文章

  • Jmeter 分布式压测
    1分布式和集群的区别 分布式:分布式是将一种业务拆分成多个子业务部署在多台服务器上,进而对外提供服务集群:集群就是将多台服务器组合在一起提供同一种服务,而分布式没有具体要求,不论放置在哪个位置,只要通过网络连接起来就行,集群强调在多台服务器位置集中,并且容易统一管理 ......
  • benchmarksql压测lightdb的oracle模式
    一、编译安装BenchMarkSQL1.下载源码,输入ant编译。确保已经安装配置JDK环境,BenchMarkSQL是Java开发的。cdbenchmarksql/benchmarksql]$ant二、创建BenchMarkSQL测试数据库和角色[lightdb@linuxtestba65~]$ltsqlltsql(13.8-23.4)compatibletype:postgresqlType"......
  • vue中websocket的使用---详解
    一、什么是webscoketWebSockets 是一种先进的技术,它可以在用户的浏览器和服务器之间打开交互式通信会话。使用此API,可以向服务器发送消息并接收事件驱动的响应,而无需通过轮询服务器的方式以获得响应。 WebSockets这种技术中有一个接口名为WebSocket,它是一个用于连接WebSoc......
  • Taurus.MVC 性能压力测试(ap 压测 和 linux 下wrk 压测):.NET 版本
    前言:上次发布了:Taurus.MVC性能压力测试(ap压测和linux下wrk压测):.NETCore版本今天计划准备压测一下.NET版本,来测试并记录一下Taurus.MVC 框架在.NET 版本的性能,以便后续持续优化改进。为了方便对比,本文章的电脑环境和测试思路,尽量和上文保持一致,以便方便对比。下......
  • Springboot集成WebSocket实现智能聊天【Demo】
    背景openai目前越来越流行,其他ai产业也随之而来,偶然翻到openai接口文档,就想着可以调用接口实现智能聊天,接下来就写写我怎么接入websocket的过程,文笔不佳,谅解。接入WebSocket1.webSocket依赖<dependency><groupId>org.springframework.boot</groupId><artifactId......
  • ab压测命令
    linux安装#安装命令:apt-getinstallhttpd-tools#检查是否安装成功ab-V#ab参数说明ab-h>>>-n在测试会话中所执行的请求个数。默认时,仅执行一个请求。-c一次产生的请求个数。默认是一次一个。-t测试所进行的最大秒数。其内部隐含值是-n50000,它可以使对服......
  • websocket-fmp4播放器wsPlayer
    https://blog.csdn.net/tech2ipo/article/details/124369020 https://github.com/ZLMediaKit/ZLMediaKithttps://github.com/chatop2020/AKStream 一、web视频播放器的现状与问题1、流媒体协议选型:主流流媒体协议归纳总结:协议名称 网络传输协议 延时 编码类型 HTML5支持情......
  • linux服务器 tcp高并发压测需要设置项
    linux服务器部署了一个tcp服务,需要进行并发压力测试 看看服务器能支持多少个tcp长连接  预计会有50w个连接需要设置linux不然是无法支持这么多连接的  如果达到这个值是无法建立新连接的 报错信息一般为 toomanyopenfiles 1, fs.file-max li......
  • Springboot 添加 WebSocket 服务
    后端WebSocketServer.java文件:packagecom.ruoyi;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.stereotype.Component;importorg.springframework.stereotype.Service;importjavax.websocket.*;importjavax.websocket.ser......
  • Taurus.MVC 性能压力测试(ap 压测 和 linux 下wrk 压测):.NET Core 版本
    前言:最近的Taurus.MVC版本,对性能这一块有了不少优化,因此准备进行一下压测,来测试并记录一下Taurus.MVC 框架的性能,以便后续持续优化改进。今天先压测.NETCore 版本,后续有时间再压测一下.NET 版本。下面来看不同场景下的压测结果,以下测试结果会由两台电脑进行分别测试。......