我希望根据服务器负载在我的 PHP/Apache Web 服务器上实现一个基本的动态限制机制,并且想知道如何从服务器本身(理想情况下)或客户端了解服务器的繁忙程度。
客户端每 x
秒轮询一次服务器以获取更新的值。我基本上想根据负载限制x
,这样 1000 个连接就不会每 5 秒尝试一次。
一个想法是简单地检查服务器的平均响应时间并将其与某个基线进行比较,但我认为如果服务器能够实际计算出它本身的繁忙程度并在响应中将此值作为元数据返回,那将是可取的。
您可以使用负载平均值,可以使用sys_getloadavg()
检索。使用上次轮询中返回的值来确定在下一次轮询之前要等待多长时间。