Ich versuche, die Gesamtleistung des Systems der laufenden Docker mit der Phoronix Test Suite 6.4.0 Milestone 2 läuft in einem Filzhut zum Benchmark: 23 Bild basierten Container.Die Beseitigung der Auswirkungen von unionfs auf Ergebnisse, wenn innerhalb Docker Benchmarking
Eine Sache, die in Betracht gezogen werden muss, ist, dass Docker eine proprietäre unionfs zum Speichern von Daten verwendet. Wenn jedoch eine reale Anwendung (wie Apache) in Docker ausgeführt wird, werden die persistenten Daten normalerweise in einem dedizierten Ordner auf dem Host gespeichert, der auf einem Standard-Linux-Dateisystem wie ext4 oder in meinem Fall btrfs läuft.
Die Lösung, die ich vorschlage, ist die „docker volume“ zu verwenden, um ein Host-Verzeichnis in Docker zu montieren. Die Sache ist, ich weiß nicht, welche Verzeichnisse in den Benchmarks verwendet werden sollen und müssen innerhalb des Docker-Containers eingehängt werden.
Der Test Suite pts/disk zum Beispiel auf jeden Fall Docker Volumina statt unionfs verwenden sollten. Es enthält diese Tests.
pts/compress-gzip
pts/sqlite
pts/apache
pts/pgbench
pts/compilebench
pts/iozone
pts/dbench
pts/fs-mark
pts/fio
pts/tiobench
pts/postmark
pts/aio-stress
pts/unpack-linux
Welche Verzeichnisse im Docker Behälter von Host montiert werden soll (Docker Bände gemacht)? Ist es sogar eine gute Idee, die Andockvolumes zu verwenden? Gibt es noch andere Vorbehalte beim Benchmarking von Docker?
Just zu beachten, ist die Antwort auf die Frage „warum ein Datenvolumen Plugin wie Flimmern verwenden“ statt nur „Docker Datenvolumen“ ist „Im Gegensatz zu einem Volumen Docker Daten, die auf einem einzigen Server verbunden ist, ein Flocker Datenvolumen Dataset genannt, ist portabel und kann mit jedem Container in Ihrem Cluster verwendet werden. " Afaik, wenn ich Portierbarkeit opfern, Docker Datenvolumen ist funktionell äquivalent und wahrscheinlich sogar schneller als jedes Docker Volume-Plugin, oder? – Slazer
@Slazer Ich stimme zu. Ich bevorzuge nur Docker Volume erstellen seit Docker 1.9 als, Plugin oder nicht, es hält Volumes mehr sichtbar, anstatt ausgeblendet zu werden, ein Container, der nur zum Starten (nie ausgeführt) und von anderen Containern bereitgestellt wird. – VonC
Könnten Sie mich bitte beraten, wenn ich mir die Tests ansehe, die ich ausführen werde (in der Regel Festplatten-I/O-intensive Aufgaben mit realen Anwendungen), welche Ordner sind die besten Kandidaten für die Bereitstellung vom Host (als Andock- oder Docker-Volume) Plugin)? Ich habe den Test nicht programmiert, daher sehe ich keine einfache Möglichkeit zu erraten, welche Ordner verwendet werden. Die Tests werden als Root in einem Docker-Container ausgeführt. – Slazer