PHP - gethostbyname()需要5秒才能完成

时间:2018-04-04 10:51:40

标签: php server vps shared-hosting

我正在使用gethostbyname函数获取域名的IP地址。

当它在apache中运行并且在命令行中使用php时,它需要5.0695459842682秒才能获得完整的结果。

<?php
    $domain_name = $argv[1];
    $stime = microtime(true);
    $ip =gethostbyname($domain_name);
    $etime = microtime(true);
    $ttime = $etime - $stime;
    echo "Total time for gethostbyname : $ttime\n";
    echo $ip."\n";
?>

当我通过google.com作为域名在php命令行中运行脚本时,它返回到下面的结果。

gethostbyname的总时间:5.0695459842682 216.58.203.142

任何人都可以帮我出来,把时间减少到不到1秒。

此致 Vignesh Kumar K

2 个答案:

答案 0 :(得分:0)

这取决于您使用的互联网速度。当我运行代码时,由于我的网速接近90Mbps,我得到的时间不到2秒。

enter image description here

因此,你无法做任何事情来优化代码,而不是你需要提高你的网速。

答案 1 :(得分:0)

也许问题是你的系统正在尝试使用ipv6连接到dns服务器但你的网络配置不正确才能成功完成此操作?如果是这样,您可以尝试禁用ipv6。

在Debian中你可以这样做:https://wiki.debian.org/DebianIPv6#How_to_turn_off_IPv6