Próbuję porównywać ogólną wydajność systemu z uruchomionym Dockerem przy użyciu pakietu Milestone 2 Phoronix Test Suite 6.4.0 2 działającego wewnątrz kontenera Fedora: 23.Eliminowanie wpływu UnionFS na wyniki podczas testów porównawczych w Dockerze
Jedną z rzeczy, którą należy wziąć pod uwagę, jest to, że Docker używa zastrzeżonego systemu UnionFS do przechowywania danych. Jednak podczas uruchamiania aplikacji w świecie rzeczywistym (np. Apache) w Dockerze, trwałe dane są zwykle przechowywane w dedykowanym folderze na hoście, działającym na standardowym systemie plików Linux, takim jak ext4, lub w moim przypadku btrfs.
Rozwiązaniem, które proponuję, jest użycie "docker volume" do zamontowania katalogu hosta w oknie dokowanym. Chodzi o to, że nie wiem, które katalogi mają być używane w benchmarkach i muszą być montowane wewnątrz kontenera Docker.
Na przykład testowy pakiet Suite pts/disk powinien zdecydowanie używać woluminów docker zamiast UnionFS. Zawiera te testy.
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
które katalogi w pojemniku Docker powinny być montowane z hostem (wykonane tomy Döcker)? Czy korzystanie z woluminów dokowania jest nawet dobrym pomysłem? Czy istnieją inne zastrzeżenia, które należy wziąć pod uwagę podczas porównywania Docker?
Należy zauważyć, że odpowiedź na pytanie "dlaczego używać wtyczki woluminu danych, np. Migotania" zamiast "Docker data volume", brzmi "W przeciwieństwie do woluminu danych Docker, który jest powiązany z pojedynczym serwerem, objętością danych Flocker, nazywany zbiorem danych, jest przenośny i może być używany z dowolnym kontenerem w klastrze. " Afaik, jeśli poświęcam przenośność, pojemność danych Docker jest funkcjonalnie równoważna i prawdopodobnie nawet szybsza niż jakakolwiek wtyczka Docker, prawda? – Slazer
@Slazer Zgadzam się. Po prostu wolę używać tworzenia woluminów docker od czasu dokowania 1.9 jako wtyczki lub nie, dzięki temu woluminy stają się bardziej widoczne, zamiast ukrywać się jako kontener, który istnieje tylko po to, aby zostać uruchomionym (nigdy nie uruchamiać) i zamontowany przez inne pojemniki. – VonC
Czy możesz mi doradzić, patrząc na testy, które mam zamiar uruchomić (na ogół intensywne zadania we/wy dysku przy użyciu aplikacji rzeczywistych), które foldery są najlepszymi kandydatami do instalacji z hosta (jako wolumin dokowania lub wolumin dokowania podłącz)? Nie zaprogramowałem testu, więc nie widzę łatwego sposobu na zgadnięcie, które foldery są w użyciu. Testy są uruchamiane jako root w kontenerze Docker. – Slazer