我有一个VB应用程序访问我的服务器上的PHP文件,但有时它可能会出现故障并让它们在几秒钟内多次访问它,然后它会在服务器上产生高负载。
现在这样就不会发生,有没有办法从每个请求PHP文件的独特人员每30秒限制一次请求?我不希望它将整个服务器限制为每30秒1个请求,我希望每个用户每30秒单独请求一个请求。
我不知道我怎么能这样做,有人可以帮忙吗?
答案 0 :(得分:0)
根据未定义的用户实体或固定的最大频率或延迟设置条件不是一个好方法,因为您最终会错误地声明用户是由IP定义的
如果您的问题是CPU负载,那么您可以在php文件的开头使用以下代码:
$cpu_load_max = 1;
$cpu_load_current = sys_getloadavg();
if ($cpu_load_current[0] > $cpu_load_max) {
header('HTTP/1.1 503 Too busy, try again later');
die('Server too busy. Please try again later.');
// Or whatever you want
}