我正在尝试获取 40,000 个项目的列表并为每个项目运行一个 json 请求。这个过程非常慢,我怀疑这是因为每个 json 请求在下一个请求开始之前就完成了。
$result = mysql_query("SELECT * FROM $tableName");
while($row = mysql_fetch_array($result))
{
checkRank($row['Domain']);
}
checkRank 运行的结果是:
$json = file_get_contents($jsonurl,0,null,null);
我想我可以一次运行 10 个 checkRanks 来加快这个过程?还有其他想法/建议吗?
更新:
例如,这个循环在 27 秒内通过我的数组。
for ($i=0; $i<=100; $i++) {
checkRank($domains[$i]);
$i++;
checkRank($domains[$i]);
$i++;
checkRank($domains[$i]);
$i++;
checkRank($domains[$i]);
$i++;
checkRank($domains[$i]);
$i++;
echo "checking " . $i . "<br/>";
}
下面的循环使用相同的数组需要 40 多秒。
for ($i=0; $i<=100; $i++) {
checkRank($domains[$i]);
echo "checking " . $i . "<br/>";
}