Append-only Server-Performance
Frage
Ich baue einen kleinen Web-Server zu Lernzwecken.
Für jede eingehende POST-Anfrage Ich plane, den Inhalt in eine Datei anzuhängen.
-
Ich bin mit ZeroMQ Buchsen für den Datei-Append Prozess in Verbindung steht. Muss ich besonders darauf achten, mit den Datei-Operationen (fopen, fseek)?
-
Unter Berücksichtigung eines typischen Beispiel Amazon EC2 und dass jede Anforderung hat höchstens 1 kb, wie viele Datei-Append-Operationen pro Sekunde kann mein Server Griff?
Danke!
Lösung
Basic concerns should be followed, what happens if multiple processes are run and receive messages. What happens if you run out of disk space or a write fails?
Are you after synchronous writing to disk or is buffered, and potential of log corruption, acceptable? fopen
and friends are buffered, consider open
and friends for non-buffered writes.
Performance is tied to whether you can batch writes, use buffering, or want synchronous writes to disk. I think Amazon provide some IOPS details, certainly other developers have published results: