> 백엔드 개발 > PHP 튜토리얼 > PHP的dns_get_record在本机测试很慢怎么解决

PHP的dns_get_record在本机测试很慢怎么解决

WBOY
풀어 주다: 2016-06-06 20:21:58
원래의
1624명이 탐색했습니다.

一直想查找一个免费不限频率的域名查询接口,网上找了很久都没找到,最后干脆自己写一个域名查找接口,原理是直接用PHP查找该域名的whois信息,但直接查找whois太慢,就想先查找该域名的NS记录,如果有NS记录的话这个域名就已经注册了,这样理论上应该要快一些,这种思路对吗?
现在我用php的dns_get_record查询域名dns信息,但这速度真的不敢恭维哈,试了很多域名,基本上平均查询时间都在一分钟以上!有好几次都挂掉了,完全不像网上域名注册商那样快,手上没有美国的主机,想问一下,如果在美国主机上运行dns_get_record是不是会快一些?

回复内容:

一直想查找一个免费不限频率的域名查询接口,网上找了很久都没找到,最后干脆自己写一个域名查找接口,原理是直接用PHP查找该域名的whois信息,但直接查找whois太慢,就想先查找该域名的NS记录,如果有NS记录的话这个域名就已经注册了,这样理论上应该要快一些,这种思路对吗?
现在我用php的dns_get_record查询域名dns信息,但这速度真的不敢恭维哈,试了很多域名,基本上平均查询时间都在一分钟以上!有好几次都挂掉了,完全不像网上域名注册商那样快,手上没有美国的主机,想问一下,如果在美国主机上运行dns_get_record是不是会快一些?

刚刚测试了alexa top 500域名,最大耗时12.2S,最小不到0.001S.
同时事先我清空了本机的DNS缓存.

PHP的dns_get_record在本机测试很慢怎么解决


可以这么实现,因为每个域名至少等包含一条NS记录。

速度慢是你机器的原因,我在本机测试最多不超过3S.

获取一条后在一段时间内会存在缓存,我想你可以修改本机的DNS服务器看看能否有改善

<code>$start=microtime(true);
$domain='segmentfault.com';
$rs=dns_get_record(strtolower($domain),DNS_NS);
print_r($rs);
$end=microtime(true);

echo $end-$start;</code>
로그인 후 복사

PHP的dns_get_record在本机测试很慢怎么解决

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿