SpringBoot 整合 Netty 实现 socket 的服务,服务器是 64 核 128G ,用相同配置的压力机测试,测试出来的 TPS 仅为 30w ,目标是 100w ,应该从什么方面优化(服务器 CPU 使用率仅为 10%左右)。
1 、压力机和服务器是光纤直连。
2 、socket 服务端没有任何业务逻辑,收到消息就直接返回
3 、目前配置:主线程数 8 ,工作线程数 64 ,连接请求队列大小为 10240 (即 SO_BACKLOG )
.option(ChannelOption.SO_BACKLOG, backlog)
.option(ChannelOption.SO_TIMEOUT, 1)
.option(ChannelOption.SO_REUSEADDR, true)
.childOption(ChannelOption.SO_KEEPALIVE, true)
.childOption(ChannelOption.TCP_NODELAY, true)
1
anonydmer 2023-10-30 16:27:17 +08:00
64 核的机器线程数配置的有点少吧
|
4
Dream95 2023-10-30 18:36:34 +08:00
施压机是怎么发起压力的
|
5
Scarb 2023-10-30 19:53:04 +08:00
压力机的线程增多点
|
6
mysunshinedreams 2023-10-31 06:07:58 +08:00
增加压测机器的数量,感觉没压满啊
|
7
huskyui 2023-10-31 18:27:17 +08:00
我记得这个是一个面试问题吧,好像要改配置的
https://juejin.cn/post/7023279068736913422 |
9
lylala8 2023-11-10 10:45:35 +08:00
内存占用是什么情况
|
10
lylala8 2023-11-10 10:49:42 +08:00
感觉还是得集群 线程增多 线程切换会耗时 tps 就降低了,还有种情况就是压测机器支持不了这么多线程,自身处理响应就耗时增加导致 tps 下降
|