我目前正在使用一个while(true)循环内执行长轮询脚本。PHP set_time_limit
已经设置为0。有一个Apache服务器,另外还有一个Nginx服务器代理到前面的Apache服务器。我通过这个长轮询脚本从MySQL表中拉取文本。我想知道如果有很多并发用户在拉取数据,这个过程是否会影响服务器性能。如果是的话,那么对服务器性能会有什么影响?我应该将Nginx用于php-fpm吗?
我目前正在使用一个while(true)循环内执行长轮询脚本。PHP set_time_limit
已经设置为0。有一个Apache服务器,另外还有一个Nginx服务器代理到前面的Apache服务器。我通过这个长轮询脚本从MySQL表中拉取文本。我想知道如果有很多并发用户在拉取数据,这个过程是否会影响服务器性能。如果是的话,那么对服务器性能会有什么影响?我应该将Nginx用于php-fpm吗?
长轮询具有一些值得注意的服务器端属性
从这个出发(并假设您使用生产级别的Apache MPM,而不是实验性的基于事件的MPM),将长轮询处理切换到Nginx将会
我的建议是首先进行一些分析和分析:有多少并发长轮询者实际上同时运行? Apache是否用尽了工作线程(而您无法轻松增加计数)?您能否轻松地将长轮询移植到完全基于事件的解决方案中(例如node)?
如果有疑问,我倾向于保持事物紧密联系在一起,因此,如果您的主要应用程序在Apache内运行,则需要有充分的理由说服我将长轮询移出 - 请理解,这是个人偏好。