У меня есть код, где я получаю домены из базы данных и передавая их через функцию PHP getmxrr. Затем я сохраняю результаты в базе данных. Но процесс идет очень медленно. Есть ли способ ускорить это?Speed 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
}
Сколько записей вы обрабатываете? и не могли бы вы определить «медленный», и уверены ли вы, что это не mysql, который работает медленно? –
Я предполагаю, что проблема заключается в длительности запроса DNS. Попробуйте использовать другие (лучше кэширующие) DNS-серверы для ускорения повторных запросов. – Stasik
От медленного я имею в виду около 1-2 запросов в секунду. @RyanNaddy – tgarg