Christian Kruse: Effizienz-Vergleich MySQL-Eintrag vs. Datei-Eintrag

Beitrag lesen

Hallo Tom,

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).

Ich weiss nicht, wovon du redest. Würdest du das bitte näher
ausführen? Auch die Fachbegriffe, bitte. Danke.

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.

PHP cached. Es macht keinen Unterschied, ob du fünf mal fwrite()
aufrufst oder nur einmal. Der Systemcall wird genau so oft gemacht.

Grüße,
 CK

--
"Ich muss auflegen, mein Essen ist gleich fertig."
"Oh, was gibt 's denn?"
"Hmm. Die Packung liegt schon im Muell, keine Ahnung.