我会尝试对此进行非常具体的介绍-这并非易事,因此请尝试遵循.
我们有一个脚本可以在Nginx上与PHP一起运行-PHP-fpm FastCGI.
该脚本从试图访问它的用户那里获取信息,并实时运行某种算法.它不能是在后台运行的计划进程.
有时,页面加载甚至需要5到12秒的时间-没关系.
通常,我们从用户那里收集数据,并向第三方服务器发出多个传出请求,然后收集数据,对其进行分析并为用户返回响应.
问题是,
有许多用户正在运行此脚本,服务器变得非常繁忙-因为他们都是服务器上的活动连接,正在等待响应.
我们有2台服务器在1个负载均衡器下运行,这还不够.
有时,服务器一次最多具有1,500个活动连接.您可以想象这些服务器在该时间范围内如何响应.
我正在寻找解决方案.
我们可以向LB添加越来越多的服务器,但是这是唯一的解决方案,这听起来很荒谬.
我们运行了该脚本并对其进行了最大程度的优化,我可以向您保证-
对于该脚本的长时间运行,没有真正的解决方案,因为它依赖于第三方服务器,这些服务器需要一些时间才能对实时流量做出响应.
您有没有想过的解决方案,可以按原样保留此脚本-
但是如何以某种方式降低这些活动连接对整个服务器运行的影响?
有时,他们只是停下来回应.
非常感谢您的阅读!
最佳答案