基于tokio的网络服务cpu不能压满
💡
原文中文,约500字,阅读约需2分钟。
📝
内容提要
作者基于tokio写了一个简单的echo服务,并编写了一个客户端程序来测试服务的性能。作者发现当客户端程序启动1-8个任务时,服务的CPU压力线性增加,但超过8个任务后,服务和客户端的CPU占用都保持在170%左右,整个机器的CPU占用在50%左右。作者猜测这可能是tokio机制导致的。
🎯
关键要点
- 作者基于tokio写了一个简单的echo服务,支持长连接。
- 客户端程序可以指定启动N个任务同时请求echo服务,每个任务建立一个长连接。
- 在启动1~8个任务时,echo服务的CPU压力线性增加。
- 超过8个任务后,echo服务和客户端的CPU占用保持在170%左右,整个机器的CPU占用在50%左右。
- 作者猜测CPU不能打满可能是由于tokio机制的原因。
➡️