Ich versuche, extrem hohe Geschwindigkeit Daten von einer Anwendung zur anderen mit 64-Bit CentOS 6. Ich habe die folgenden Benchmarks mit dd
getan, um zu entdecken, dass die Rohre mich zurückhalten und nicht den Algorithmus in meinem Programm. Mein Ziel ist es, irgendwo rund 1,5 GB/s zu erreichen.Gibt es eine Möglichkeit, die Leistung von Linux-Pipes zu verbessern?
Zunächst ohne Rohre:
dd if=/dev/zero of=/dev/null bs=8M count=1000
1000+0 records in
1000+0 records out
8388608000 bytes (8.4 GB) copied, 0.41925 s, 20.0 GB/s
Als nächstes wird ein Rohr zwischen zwei dd Prozesse:
dd if=/dev/zero bs=8M count=1000 | dd of=/dev/null bs=8M
1000+0 records in
1000+0 records out
8388608000 bytes (8.4 GB) copied, 9.39205 s, 893 MB/s
es irgendwelche Tweaks ich an den Kernel oder so etwas machen kann anderes, dass die Leistung von verbessern Daten durch eine Pipe laufen lassen? Ich habe auch Named Pipes ausprobiert und ähnliche Ergebnisse erhalten.
Vielen Dank für das herauszufinden! Ich habe einige zusätzliche Nachfolgetests durchgeführt und festgestellt, dass es nur auf die Schreibgeschwindigkeit ankommt. – KyleL
IMO, die Frage stimmt nicht mit dem Fragetext oder der Antwort überein. Ich möchte die Antwort auf die eigentliche Frage selbst lernen. : D –