![服务器空闲时响应时间较慢,服务器负载时响应时间较快?](https://linux22.com/image/776303/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%A9%BA%E9%97%B2%E6%97%B6%E5%93%8D%E5%BA%94%E6%97%B6%E9%97%B4%E8%BE%83%E6%85%A2%EF%BC%8C%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%B4%9F%E8%BD%BD%E6%97%B6%E5%93%8D%E5%BA%94%E6%97%B6%E9%97%B4%E8%BE%83%E5%BF%AB%EF%BC%9F.png)
我正在运行一个 40 线程/125GB RAM 的服务器。
服务器基于CentOS 7。
我注意到,当服务器空闲时,服务器响应时间会更长:
您可以从此处的屏幕截图中看到,下午 4 点到晚上 10 点之间的服务器响应低于其他时间。
我查看了日志,发现 GoogleBot 当时每秒向我们发送 4 个请求,导致服务器负载过大。GoogleBot 发出的大多数请求都是 302 重定向(大型电子商务目录,实时产品每天都会发生变化)。
在这里您可以看到服务器的吞吐量——当服务器繁忙时,响应时间较短。
我该如何调试它?
是什么原因造成的?
302 重定向会比扭曲数据的 200 响应更便宜吗?
缓存(Redis / Opcache / APCu)是否会过早撤离,导致在空闲时间重新创建缓存?
我们目前正在运行:Apache 2.4 Nginx Proxy MySQL Redis Opcache APCu Elasticsearch
更新:
查看 PHP 占用时间最多的分离进程:
MySQL 在某种程度上与 PHP 有关联,但并不完全: