我正在主持我的网站在“us-central1-a”区域的 Gcloud Compute Engine 实例中,我尝试从西班牙访问该网站,但其响应时间约为 20 秒。
我相信这是我的 apache2 配置的问题,并且我也检查过并且 /etc/apache2/apache2.conf 中已禁用 dnslookup。
有什么建议么?
谢谢!
答案1
我不认为网络延迟会造成大问题,因为访问不同的 URL(例如)time curl -v https://bruto.com.es/robots.txt
会花费 0.4 秒的响应时间。(这是一个 404,但这并不重要。真正的静态文件(例如)https://bruto.com.es/wp-content/themes/palmplaza/assets/js/jquery.stellar.min.js
也会在 0.4 秒内响应。)
这也基本上排除了 Apache,因为它将击中相同的虚拟主机和相同的配置。
有趣的是,运行时响应以块的形式返回,每个块之间间隔 3 秒curl -v https://bruto.com.es/
。第一个块在 7 - 8 秒后开始。
我猜想缓慢是发生在 PHP 内部。这可能是在执行诸如连接到数据库或运行查询之类的操作时暂停(可能是由与 Web 服务器位于不同区域的数据库引起的),也可能是 GCE 独有的,例如 CPU 配给。如果您可以 ssh 到运行sudo strace -T -tt -p [PID]
Apache 或 PHP 进程的服务器上,您可能能够进一步缩小范围。