在我的服务器的控制面板中添加一个新的域时,从一段时间开始比平时花费更多的时间。
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:
λ ~/ base64 -D OiJsb2NhbCI7fWk6NTQ0O2E6NTp7czo1 bm5hbWUiO3M6MjI6ImJhZHppZXdpYXJ6 IjtzOjExOiJ3ZWJtYWlscHJvZyI7czow ^D :"local";}i:544;a:5:{s:5 nname";s:22:"badziewiarz ";s:11:"webmailprog";s:0%
我想“服务器控制面板”软件可以被重写为更高效,而不会随着时间的推移而降低性能。
NB! 不要从生产服务器复制/粘贴strace s – 那个JSON里面可能会有一些敏感信息,例如login/密码/会话/ API密钥/等等。