我正在一个网站上工作,该网站显示来自数据库的一些经常更改的数据(队列状态和聊天对话)。我当前的设置是 Apache/PHP/MySQL。自然,我想避免每 x 秒轮询一次服务器,因为这不能很好地扩展。我想做反向 ajax 长轮询,但是,我读到 Apache 不能很好地处理这个问题,因为它很快就会用完工作线程。还有许多其他的 Web 服务器可以解决这个问题:nginx、tornado 等。但是,我的问题是,PHP 是我所知道的唯一服务器端脚本语言。此外,我已经编写了一些 PHP 脚本,所以如果可以的话,我想保留它们。只要我仍然可以使用 PHP,我就可以切换服务器。
但是在做了更多研究之后,我读到人们说 PHP(PHP-FPM?)也会为每个请求创建一个进程,这意味着如果我有成百上千个打开的连接,就会有成百上千个进程,这也将是一个问题。
我可以得出结论,没有很好的可扩展方法来使用 PHP 制作长轮询网站吗?我应该放弃 PHP 并学习另一种服务器脚本语言吗?我现在可以继续使用我当前的设置(Apache/PHP)开发长轮询,但我不希望脚本语言的选择在我部署时对我的系统的可伸缩性造成任何限制。所以我该怎么做?我对网络编程不是很有经验,所以如果有任何大师可以给我一些指示,我将不胜感激!谢谢!