0

我有一个代码,我从数据库中获取域并通过 PHP getmxrr 函数传递它们。然后我将结果存储在数据库中。但是这个过程非常缓慢。有什么办法可以加快速度吗?

$stmt = $link->prepare($sql);
$stmt->execute();
$row = $stmt->fetchAll();
foreach ($row as $value) {
    $domain = $value[0];

    //getmxrr doesn't work without this
    $string = preg_replace('/\s+/','',$domain); 

    if (getmxrr($string,$mxrecords)){        

        if(isset($mxrecords[0])){
        $mx = $mxrecords[0];} else $mx = "False";
    }
    else{
        $mx = "NULL";
    }
    $stmt1->execute();    //inserting the results in DB

}   
4

1 回答 1

0

我认为问题是 DNS 请求的持续时间。尝试使用不同的(更好的缓存)DNS 服务器来加速重复出现的请求。

首先,尝试将您的操作系统的 DNS 服务器更改为其他一些,也许是 Google 的(8.8.8.8)?下一步是获取自己的 DNS 缓存,它取决于操作系统(例如对于 Ubuntu/Linux https://askubuntu.com/questions/22750/best-way-to-set-up-dns-caching)。

于 2013-05-30T19:36:41.193 回答