Jmeter如何实现20万websocket并发连接

背景

我有个压测任务,要建立20万websocket并发连接,并持续2小时,并且websocket要每55s发一次ping/pong请求才能保持连接。所以我线程下添加了一个建立websocket连接的接口,一个循环定时器每55s发送一个Ping/Pong请求,无线循环。

问题

我在一个CPU 8核、MEM 8G的POD内执行jmeter脚本,最多只能创建5000个线程,即使线程数设置为更多。意味着我要几十台压测机分布式压测才能达到20w的并发连接。请问有什么方法可以使单个压测机创建尽可能多的线程吗?或者有更好的方案吗?求老师们帮忙看看

报错信息

环境

  • 如果能加配置可以选择升级一下机器配置,不能话可以优先尝试优化JMeter配置并使用异步插件;如果还是无法满足需求,可以试试其他异步框架或着分布式压测方案。
  • 对于高并发的WebSocket场景,采用异步I/O工具比如locust/k6会更具优势一些。