35 votos

Increíblemente lento KVM de rendimiento de disco (qcow2 archivos de disco + virtio)

Estoy teniendo algunos de disco graves problemas de rendimiento en el establecimiento de un invitado KVM. El uso de un simple dd de la prueba, la partición del ejército, que el qcow2 imágenes residen en (un espejo de un array RAID) escribe en más de 120 MB/s, mientras que mi huésped recibe escribe que van desde 0,5 a 3 MB/s.

  • El huésped está configurado con un par de Cpu y 4G de RAM y no se está ejecutando otra cosa; es completamente una instalación mínima en el momento.
  • El rendimiento es probado mediante time dd if=/dev/zero of=/tmp/test oflag=direct bs=64k count=16000.
  • El huésped está configurado para utilizar virtio, pero esto no parece hacer una diferencia en el rendimiento.
  • El host particiones son de 4 kb alineados (y del rendimiento de la multa en el host, de todos modos).
  • Mediante la reescritura de almacenamiento en caché de los discos aumenta el rendimiento reportado de forma masiva, pero prefiero no usarlo; incluso sin que el rendimiento debe ser mucho mejor que este.
  • El Host y el cliente están ejecutando Ubuntu 12.04 LTS, que viene con qemu-kvm 1.0+noroms-0ubuntu13 y libvirt 0.9.8-2ubuntu17.1.
  • Host tiene la fecha límite IO scheduler activado y que el huésped haya noop.

Parece ser que hay un montón de guías por ahí afinando kvm rendimiento, y voy a llegar con el tiempo, pero me parece que debería estar recibiendo infinitamente mejor rendimiento que el este en este momento así que parece que algo está muy mal.

Actualización 1

Y de repente cuando me vaya de nuevo y prueba ahora, es de 26.6 MB/s; esto es más como lo que yo esperaba w/qcrow2. Voy a dejar la pregunta en caso de que alguien tiene alguna idea sobre lo que podría haber sido el problema, y en caso de que misteriosamente vuelve de nuevo).

Actualización 2

He dejado de preocuparme por qcow2 rendimiento y acaba de cortar a LVM en la parte superior de RAID1 con imágenes raw, aún con virtio, pero la configuración de la caché='none' y io= "nativa" en la unidad de disco. El rendimiento de la escritura es ahora appx. 135MB/s utilizando la misma prueba básica como es arriba, así que no parece ser mucho punto en averiguar cuál era el problema cuando se puede ser tan fácilmente completamente.

18voto

Ryan Sampson Puntos 2898

Bueno, sí, qcow2 archivos no están diseñados para un rendimiento sorprendentemente rápido. Usted conseguirá mucho mejor suerte de materia particiones (o, preferiblemente, LVs).

12voto

lzap Puntos 718

Cómo lograr el máximo rendimiento con la QCOW2:

qemu-img create -f qcow2 -o preallocation=metadata,compat=1.1,lazy_refcounts=on imageXYZ

La más importante es preallocation que da buen impulso, de acuerdo a qcow2 los desarrolladores. Es casi a la par con LVM ahora! También puede proporcionar inseguro caché si esta no es la producción de instancia (bueno para las pruebas):

<driver name='qemu' cache='unsafe' />

Algunos usuarios de informes que esta configuración beats LVM/inseguro de configuración en algunas de las pruebas.

Para todos estos parámetros última QEMU 1.5+ es necesario!

9voto

gertas Puntos 151

He conseguido grandes resultados para qcow2 imagen con esta configuración:

<driver name='qemu' type='raw' cache='none' io='native'/>

que deshabilita invitado cachés y permite a los AIO (Asincrónica IO). El funcionamiento de su dd comando me dio 177MB/s en el host y 155MB/s a los clientes. La imagen se coloca en el mismo volumen LVM donde host es la prueba.

Mi qemu-kvm versión es 1.0+noroms-0ubuntu14.8 y kernel 3.2.0-41-generic de acciones de Ubuntu 12.04.2 LTS.

4voto

Kourindou Hime Puntos 11

Si usted está funcionando su vms con un solo comando, por los argumentos que se pueden utilizar

kvm-unidad de archivo=/path_to.qcow2,si=virtio,cache=off <...>

Me puse de 3MB/s a 70 MB/s

4voto

shodanshok Puntos 2644

En los viejos Qemu/KVM versiones, Qcow2 backend fue muy lento cuando no preasignados, más si se usa sin la caché de escritura habilitada. Consulte aquí para obtener más información.

En la más reciente Qemu versiones, Qcow2 archivos mucho más rápido, incluso cuando no se utiliza ningún preallocation (o metadatos-sólo preallocation). Aún así, volúmenes LVM siendo más rápido.

Una nota en la memoria caché modos: la reescritura de la caché es el modo preferido, a menos que se use un invitado sin o con discapacidad apoyo para el vaciado de caché de disco/barreras. En la práctica, Win2000+ invitados y cualquier Linux EXT4, XFS, o EXT3+barrera de opciones de montaje son las multas. Por otro lado, la memoria caché=inseguro debe nunca ser utilizado de máquinas de producción, como el vaciado de la caché no se propaga en el sistema host. Una inesperada acogida de apagado puede literalmente destruir huésped del sistema de ficheros.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: