![如何检测为什么 PHP 对外部服务器的请求很慢?](https://linux22.com/image/774248/%E5%A6%82%E4%BD%95%E6%A3%80%E6%B5%8B%E4%B8%BA%E4%BB%80%E4%B9%88%20PHP%20%E5%AF%B9%E5%A4%96%E9%83%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E8%AF%B7%E6%B1%82%E5%BE%88%E6%85%A2%EF%BC%9F.png)
在过去的两个月里,有些日子,我对外部链接的请求(获取/发布)会出现延迟。但是,此问题仅发生在我大量使用的服务器上运行的代码中。我有三台服务器。(Centos 7、Centos7、Windows Server)两台服务器都有相同的功能。(一台是我大量使用的服务器,我发送到外部链接的请求返回速度很慢)。
虽然它在 Windows 和第二个 centos 服务器上启动非常快,但在使用率很高的 Centos 服务器上启动需要 5 秒钟。为什么会发生这种情况?我检查了服务器的内存和磁盘使用情况,没有异常。我关闭服务器并重新打开,仍然没有修复它。三天前没有这种情况,当我一天早上醒来时,它开始变慢了。就像前面的情况一样,我会在某天早上醒来,它会再次修复。
我的服务器上安装了 Vesta,我使用的是 Apache。我需要特别控制哪个服务?速度缓慢并不只限于此链接,当我在其他地方发出 curl 请求时,它的加载速度也会很慢。
所有服务器都在位于德国的数据中心运行。
function tcmbKurlari(){
$url= 'https://www.tcmb.gov.tr/kurlar/today.xml';
$context = stream_context_create(array('ssl'=>array(
'verify_peer' => false,
"verify_peer_name"=>false
)));
libxml_set_streams_context($context);
$currency = simplexml_load_file($url);
return $currency;
}
print_r(tcmbKurlari());