私は大きなログファイル300-500メガを持っており、その中で検索を行う必要があります。私は現在、これをPHPコードでgrepを使ってやっていますが、コードをさらに最適化したいと思います。 必要なデータファイル内の最後の10000行以内のデータが必要なので、最後から検索を開始し、パターンが見つかるまで停止して停止します。ファイルの末尾からgrep検索
私はtacがこれを行うことができるという情報がいくつか見つかりましたが、パフォーマンステストではtacを使用すると4倍遅くなっています。 現在、検索には約0.13秒かかっており、追加されたタックは0.50かかります。私は何かが欠けているように感じ、私は助けていただければ幸いです。
最終的にファイルを正しく読み込むと、プロセスの速度が大幅に向上します。ここ
はコードであり、それはあなたがgrep
で-r
フラグを回避することができ、タイマー
<?php
exec('grep -r "search var" file.log -b | head -1', $result);
echo $result[0];
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "<br>".$time;
?>
http://unix.stackexchange.com/a/112173 –