在我的服务器的控制面板中添加一个新域时,它比平时花费的时间要长得多。
CPU 在一个核心上显示 100% 使用率,而 strace 报告如下:
poll([{fd=7, events=POLLIN|POLLERR|POLLHUP}], 1, -64771072) = 1 ([{fd=7, revents=POLLIN}])
recvfrom(7, "OiJsb2NhbCI7fWk6NTQ0O2E6NTp7czo1"..., 8192, MSG_DONTWAIT, NULL, NULL) = 8192
poll([{fd=7, events=POLLIN|POLLERR|POLLHUP}], 1, -64771072) = 1 ([{fd=7, revents=POLLIN}])
recvfrom(7, "bm5hbWUiO3M6MjI6ImJhZHppZXdpYXJ6"..., 8192, MSG_DONTWAIT, NULL, NULL) = 8192
poll([{fd=7, events=POLLIN|POLLERR|POLLHUP}], 1, -64771072) = 1 ([{fd=7, revents=POLLIN}])
recvfrom(7, "IjtzOjExOiJ3ZWJtYWlscHJvZyI7czow"..., 8192, MSG_DONTWAIT, NULL, NULL) = 8192
可能是什么原因?
我的操作系统是 CentOS 5.9 64 位。尝试了不同的硬件和内核,但总是一样的......
看起来一个 CPU 正忙于接收一些巨大的 JSON:
我猜想可以重写“服务器的控制面板”软件以提高效率并且不会随着时间的推移降低性能。
注意!不要
strace
从生产服务器复制/粘贴 s - JSON 中可能有一些敏感信息,例如登录名/密码/会话/API 密钥/等。