http ステータス コードを取得する最速の方法は何ですか。約 10,000 件の URL をチェックするリストがあります。そして、最良の場合、15 分ごとにそれらをチェックします。だから私は単純なcurl関数を使用してそれらすべてをループするphpスクリプトを持っています。しかし、それには時間がかかりすぎます。それを改善するために私ができることはありますか?複数の URL の並列チェックについてはどうですか? PHP はいくつ管理できますか? 私はこのパフォーマンス全体に非常に慣れていません。
これは私が持っているものです:
public function getHttpStatus(array $list) {
$list = array(…); // Array contains 10k+ urls from database.
for($i = 0; $i < count($list); $i++) {
$ch = $list[$i];
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
$c = curl_exec($ch);
$info = curl_getinfo($ch);
echo $info['http_code'] . '<br />';
}
}
前もって感謝します!