Ich habe große Protokolldatei 300-500 MB und muss Suchen in ihm tun. Ich mache das gerade mit grep im PHP-Code, aber ich möchte den Code weiter optimieren. Daten, die ich brauche, sind immer innerhalb der letzten 10000 Zeilen in der Datei, also möchte ich, dass die Suche am Ende beginnt und vorwärts geht, bis das Muster gefunden wird, und stoppe.Grep Suche vom Ende der Datei
Ich fand einige Informationen, dass Tac dies tun kann, aber meine Leistungstests zeigen, dass die Verwendung von Tac 4 mal langsamer ist. Momentan dauert meine Suche etwa 0,13 Sekunden, um mit tac abgeschlossen zu werden, es dauert 0,50. Ich fühle mich, als würde ich etwas vermissen, ich würde mich über Hilfe freuen.
Meine Erwartung ist, dass, wenn ich die Datei richtig vom Ende gelesen bekomme, dies die Geschwindigkeit des Prozesses erheblich erhöhen wird.
hier ist der Code und es enthält den Timer
<?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 –