Tengo algunos problemas graves de rendimiento del disco al configurar un invitado KVM. Usando una dd
prueba simple , la partición en el host en el que residen las imágenes qcow2 (una matriz RAID duplicada) escribe a más de 120 MB / s , mientras que mi invitado recibe escrituras que varían de 0.5 a 3 MB / s .
- El invitado está configurado con un par de CPU y 4G de RAM y actualmente no está ejecutando nada más; Es una instalación completamente mínima en este momento.
- El rendimiento se prueba usando
time dd if=/dev/zero of=/tmp/test oflag=direct bs=64k count=16000
. - El invitado está configurado para usar virtio, pero esto no parece hacer una diferencia en el rendimiento.
- Las particiones del host están alineadas a 4 kb (y el rendimiento es bueno en el host, de todos modos).
- El uso del almacenamiento en caché de reescritura en los discos aumenta enormemente el rendimiento informado, pero prefiero no usarlo; incluso sin él, el rendimiento debería ser mucho mejor que esto.
- El host y el invitado ejecutan Ubuntu 12.04 LTS, que viene con qemu-kvm 1.0 + noroms-0ubuntu13 y libvirt 0.9.8-2ubuntu17.1.
- El host tiene habilitado el planificador de IO de fecha límite y el invitado tiene noop.
Parece que hay muchas guías que modifican el rendimiento de kvm, y llegaré allí eventualmente, pero parece que debería estar obteniendo un rendimiento mucho mejor que esto en este momento, por lo que parece que algo ya está muy mal.
Actualización 1
Y de repente, cuando vuelvo y pruebo ahora, son 26.6 MB / s; Esto es más parecido a lo que esperaba con qcrow2. Dejaré la pregunta en caso de que alguien tenga alguna idea sobre cuál podría haber sido el problema (y en caso de que vuelva misteriosamente).
Actualización 2
Dejé de preocuparme por el rendimiento de qcow2 y simplemente corté a LVM en la parte superior de RAID1 con imágenes en bruto, todavía usando virtio pero configurando cache = 'none' e io = 'native' en la unidad de disco. El rendimiento de escritura ahora es appx. 135 MB / s usando la misma prueba básica que la anterior, por lo que no parece tener mucho sentido descubrir cuál era el problema cuando se puede solucionar tan fácilmente.