Tom: Effizienz-Vergleich MySQL-Eintrag vs. Datei-Eintrag

Beitrag lesen

Hello,

Log-Datei öffnen
Datensatz eintragen
Log-Datei schliessen

oder:

MySQL Connect herstellen
Datensatz eintragen

Selbst wenn die DB-Connection bereits besteht, wird die LowLevel-Append-Variante um einiges schneller sein. Ich glaube auch nicht, dass PHP hier viel Overhead in die Dateifunktionen eingebaut hat. Es müsste sich also mit zwei Accellerertionszyklen (ca. 8ms) abhandeln lassen. Und wenn ein RAID hinter dem Dateisystem steckt, geht auch noch viel schneller.

Die Datenbank hat im Prinzip die gleichen Probleme der Accelleration (Der Actuator der HDD muss gezielt positioniert werden).

Wenn Du nicht den Fehler machst, bei mehereren Logeinträgen jeden einzeln  mit einem fwrite() wegzuschreiben, sondern den ganzen Buffer auf einmal wegschreibst (also auch mehrere "Zeilen" als gemeinsamen Stream) dann bist Du mit der LowLevel-Lösung schneller.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen