Sto provando a confrontare le prestazioni generali del sistema di esecuzione di Docker utilizzando Phoronix Test Suite 6.4.0 Milestone 2 in esecuzione all'interno di un contenitore fedora: 23 basato su immagini.Eliminazione dell'impatto di UnionFS sui risultati durante l'analisi comparativa all'interno di Docker
Una cosa che deve essere considerata è che Docker utilizza un UnionFS proprietario per memorizzare i dati. Tuttavia, quando si esegue un'applicazione reale (come Apache) all'interno di Docker, i dati permanenti vengono solitamente memorizzati su una cartella dedicata sull'host, in esecuzione su un filesystem Linux standard come ext4, o nel mio caso btrfs.
La soluzione che propongo è di utilizzare "docker volume" per installare una directory host nella finestra mobile. Il fatto è che non so quali directory devono essere utilizzate nei benchmark e devono essere montate all'interno del contenitore Docker.
La suite di test pts/disk, ad esempio, deve sicuramente utilizzare i volumi della finestra mobile anziché UnionFS. Contiene questi test.
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
Quali directory nel contenitore Docker devono essere montate dall'host (volumi mobili creati)? È anche una buona idea usare i volumi della finestra mobile? Ci sono altri avvertimenti da tenere in considerazione durante l'analisi comparativa di Docker?
Giusto per notare, la risposta alla domanda "perché utilizzare un plug-in del volume di dati come il flicker" invece di "volume dati Docker" è "A differenza di un volume di dati Docker collegato a un singolo server, un volume di dati Flocker, chiamato un set di dati, è portatile e può essere utilizzato con qualsiasi contenitore nel cluster. " Se sacrifico la portabilità, il volume dei dati Docker è funzionalmente equivalente e probabilmente anche più veloce di qualsiasi plug-in del volume Docker, giusto? – Slazer
@Slazer Sono d'accordo. Preferisco semplicemente usare il volume del docker dal momento che docker 1.9 come, plugin o meno, mantiene i volumi più visibili, invece di essere nascosto come un contenitore che esiste solo per essere avviato (mai eseguito) e montato da altri contenitori. – VonC
Potresti, per favore, consigliarmi, esaminando i test che sto per eseguire (in genere attività intensive di I/O su disco utilizzando applicazioni del mondo reale), quali cartelle sono le migliori candidate per essere montate dall'host (come volume docker o volume finestra mobile collegare)? Non ho programmato il test, quindi non vedo alcun modo semplice per indovinare quali cartelle sono in uso. I test vengono eseguiti come root all'interno di un contenitore Docker. – Slazer