尝试测试mongo检索每个文档的时间。
但是,system()
会将结果打印到屏幕上,我认为这可能会减慢过程。
我怎么能将它从打印到屏幕压缩?
<?php
$m = new MongoClient();
$db = $m->selectDB("test");
$collection = new MongoCollection($db, "fakestat");
for($i=0;$i<1000;$i++){
$index[]=rand(1,432050);
}
$fp = fopen('logTime.txt','w');
fwrite($fp, "startTimeSec\t startTimeNanoSec\t endTimeSec\t endTimeNanoSec\n");
foreach($index as $val) {
$startTime = system("date +%s'\t'%N");
$results[] = $collection->findOne(array("capture"=>"$val"));
$endTime = system("date +%s'\t'%N");
fwrite($fp, sprintf("%s\t %s\n", $startTime, $endTime));
}
fclose($fp);
$m->close();
?>
更新:使用exec()
,似乎工作效果仍然相当缓慢。
答案 0 :(得分:1)
两个选项:
使用shell_exec代替system
$startTime = shell_exec("date +%s'\t'%N");
请改用microtime。
microtime - 以微秒为单位返回当前的Unix时间戳
$startTime = microtime();