我有一个 lighttpd 服务器,可以轻松处理大约 800 个并发连接。但似乎有一个问题:
当用户数量增加时,CPU 利用率也会增加,直到达到约 90% 的极限。问题是当用户数量再次下降时...即使我回到 300 到 400 个用户左右,CPU 仍然处于峰值,而且一旦有更多的人进来,比如 500 到 600 人,它似乎又会变慢。
例如,现在我保持 200 个用户,但当服务器达到峰值时,CPU 仍然达到 90%,就好像有 900 个人一样......
问题可能是什么原因造成的?可能是配置问题吗?内存刷新?fastcgi?我该如何解决这个问题?我真的不知道该怎么办,有什么建议吗?
简单地重新启动服务器是不可能的,因为我会失去所有连接的用户,这可不好。
free -m 结果:
total used free shared buffers cached
Mem: 1658 1365 292 0 123 1106
-/+ buffers/cache: 135 1522
Swap: 895 0 895
答案1
运行系统调用跟踪器(例如strace
,如果这是一个 Linux 服务器)并查看是否能揭示 lighttpd 正在做什么。