性能常识 请教一个问题,服务器会接受 2 种心跳包,1 个 5s 一次,1 个 1s 一次

jack · 2023年04月19日 · 最后由 homin 回复于 2023年04月19日 · 5556 次阅读

RT
SDK 会向服务器发送心跳包,有两种心跳包 1 个 5s 一次,1 个 1s 一次。现在需要压测 1 万并发情况下,服务器能不撑的住
我在一个 jmx 文件里写了这两个接口,是不是这个场景的 TPS 打到 1 万就说明能满足需要啊

共收到 3 条回复 时间 点赞

心跳包这种请求为什么会做到一秒一次这么频繁?如果服务有问题,响应时间拉长的话,SDK 的请求会塞到队列里面等待吗?还是会随时丢弃?

什么业务场景 心跳需要一秒一次?

不是向服务器 是向某个服务应用或者某个应用实例,先理解心跳原理,是通过什么协议传输,长连接还是无状态的 http,5s 一次和 1s 一次本质上除了频率是没啥区别。还有个点要确定下,你对并发的理解,1 个并发就是 1 个用户,1w 个就是 1w 用户噢,并发和 tps 不对等。

要考虑 1w 并发的情况如果是长连接,那就是要满足 1w 个线程,1w 个长连接通道,能不能支撑 1w 消息通道同时传递处理,一台机子一般处理不了这么大的量,得换算成单机场景,单机能跑多少 考虑稳定性、可靠性,压测完后提供较有力得参考数据。脚本实现就是先建立好通道,服务端再短时间内一块发送消息包。

如果是无状态的 http 请求,就是省略了建立通道的环节,直接发起请求,原理都差不多。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册