
SpringBoot 整合 Netty 实现 socket 的服务,服务器是 64 核 128G ,用相同配置的压力机测试,测试出来的 TPS 仅为 30w ,目标是 100w ,应该从什么方面优化(服务器 CPU 使用率仅为 10%左右)。
1 、压力机和服务器是光纤直连。
2 、socket 服务端没有任何业务逻辑,收到消息就直接返回
3 、目前配置:主线程数 8 ,工作线程数 64 ,连接请求队列大小为 10240 (即 SO_BACKLOG )
.option(ChanneOption.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/702279068736913422 |
9 lylala8 2023-11-10 10:45:35 +08:00 内存占用是什么情况 |
10 lylala8 2023-11-10 10:49:42 +08:00 感觉还是得集群 线程增多 线程切换会耗时 tps 就降低了,还有种情况就是压测机器支持不了这么多线程,自身处理响应就耗时增加导致 tps 下降 |