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 サーバーを使用して、繰り返し発生する要求を高速化してみてください。

まず、OS の DNS サーバーを他のもの、おそらく Google のもの (8.8.8.8) に変更してみてください。次のステップは、独自の DNS キャッシュを取得することです。OS によって異なります (例: Ubuntu/Linux の場合https://askubuntu.com/questions/22750/best-way-to-set-up-dns-caching )。

于 2013-05-30T19:36:41.193 に答える