首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP需要很长时间来解析主机名

PHP需要很长时间来解析主机名
EN

Stack Overflow用户
提问于 2013-02-07 01:32:59
回答 1查看 868关注 0票数 0

我们看到了一个非常奇怪的问题,PHP需要很长时间来解析任何主机名,每5-10次尝试就会随机发生一次。我们已经使用了以下脚本来检查它...

代码语言:javascript
复制
<?php

$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;

$host = "google.com";
echo "looking up ".$host."<br/>";
$ip = gethostbyname($host)
//$ip = rtrim(`/usr/bin/dig $host A +short | /usr/bin/tail -1`);
echo "IP = " . $ip . "<br/>";

$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = ($endtime - $starttime);
echo "<br/>Total Time: ".$totaltime." seconds";

?>

查找google.com通常需要几毫秒的时间,但每5-10次尝试中就有一次需要10-15秒!我们在任何域名上都可以看到同样的行为。注释掉的行使用来自命令行的dig来解决问题,当使用它时,我们看不到任何问题。这一切都很奇怪,因为他们使用相同的解析器。我们已经从命令行运行了这个PHP脚本,将apache从方程式中剔除-同样的结果,所以它看起来纯粹是一个PHP问题。

PHP文档说gethostbyname()函数可能需要4秒-我们看到的时间要长得多。我们实际上并不使用这个函数--真正的问题是由于无法解析主机名而导致cURL调用超时。上面的脚本纯粹是为了评估我们在PHP中是否有解决问题的能力,我们确实做到了!

在完全亏损的情况下,自动柜员机-谷歌搜索的结果很少。即使是指出我们可能会从哪里开始调查,也会非常感激。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-02-07 01:36:57

我会先看看你的DNS解析在哪里,DNS当前在你的服务器上指向哪里?也许可以尝试将其更改为公共DNS服务器(8.8.8.8或4.2.2.2)之一,看看是否遇到相同的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14735251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档