尽管 Web 服务器似乎并不繁忙,但响应速度却降低

尽管 Web 服务器似乎并不繁忙,但响应速度却降低

我在专用的 Windows 2008 服务器上运行 Apache,后端进程通过 FASTCGI 连接到 Apache。后端进程实际上是一个游戏引擎。一切运行正常,但我注意到,当大约有 50 个用户访问服务器时(相当于每秒约 25 个 HTTP 请求),速度开始变慢。当我查看任务管理器时,CPU 使用率在 1% 到 5% 之间。

因此,我正在寻找线索,以便找出为什么我的响应时间正在下降,即使 CPU 似乎没有接近最大值。

答案1

尝试 apachetop

如果您需要性能、可扩展性和降低成本(许可证),也可以考虑使用 unix 系统。但是您需要为技术知识付费。毕竟这不是点击操作 ;-)

您可以在 Windows 或其他环境中开发客户端。

http://en.wikipedia.org/wiki/Nginx

针对并发进行了优化。

更多阅读内容请点击这里

http://www.kegel.com/c10k.html有点旧了,目前我找不到更新版本。

鉴于这是一个游戏引擎,那么我推测你的客户端需要恒定的 http 连接,而不是建立/拆除 tcp 连接。

您也许能够调整窗口来完成这项工作,但是一旦您的游戏扩展,您就会遇到问题。

我有一些空闲的周期,并且喜欢玩游戏。所以如果您需要一对一的帮助,请发私信。

答案2

事实证明这是 Apache 配置问题。每个子进程的默认线程数为 64(至少在 Windows 上如此)。将 ThreadsPerChild 设置为更高的数字可以解决该问题。我已将其设置为为每个子进程分配 1500 个线程,这将使用大约 100 MB 的 RAM - 非常值得。

相关内容