PHP彗星聊天系统的可扩展性问题


Scalability issues for PHP comet chat system

我正在为我的网站计划一个聊天系统。我正在考虑进行ajax推送。客户端将通过调用chat.php来启动与服务器的连接。chat.php将执行一个无限循环(30秒)。在获得新消息时,它将向客户端返回打印消息并退出连接。获取responseText的ajax脚本再次调用chat.php。我的问题是这样一个系统(php驱动的COMET)在共享托管包上用于500个并发聊天进程的可扩展性。

我的问题是这样一个系统(php驱动的COMET)在共享托管包上用于500个并发聊天进程的可扩展性。

你将无法在共享主机上逃脱惩罚。服务器上的Apache实例可能配置了更低的并发连接限制。即使不是,在共享主机帐户上拥有500个活动PHP实例也会引起注意,并会严重降低共享机器上其他人的体验。

PHP可能不是这项工作的最佳工具。如果你想用PHP做这件事,你需要一个VPS或专用硬件。老实说,即使你不使用PHP,你也需要一个VPS或专用硬件来实现一个更适合问题的解决方案(比如直接提供聊天请求的后台进程,这是共享主机无法做到的)。