基于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机制的原因。
➡️

继续阅读