在AWS 1.7GB服务器中一次性接收到2000个请求。应用程序试图处理它们,但最终出现了内存耗尽错误。我优化了PHP脚本和MySQL数据库,达到了我所知道的最优状态。
因此,我的决定是:
我想在服务器上处理200个请求,并拒绝前1800个请求。下一次将处理下一个200个请求并拒绝1600个请求。通过这种方式,我可以处理所有请求。
问题1:如何实现?
我计划像下面这样实现:
获取Apache进程计数,如果超过120,则拒绝来自服务器的请求。
基于监视服务器RAM可用内存,我计划拒绝请求。
需要建议:哪种实现方法最佳?
欢迎提出其他建议。
问题2:如何使用PHP获取Apache进程计数?
问题3:如何使用PHP获取可用RAM内存大小?
注意:拒绝请求不是问题,我可以再次获取。如果我从服务器拒绝请求,那么就没有问题,服务器正常。一旦我处理了这2000个请求,之后负载就会降低。