Vamos a implementar sintonizados (y numad) en ~ 1000 servidores, la mayoría de ellos siendo servidores VMware en NetApp o en almacenamiento 3Par.
De acuerdo con la documentación de RedHats, debemos elegir el virtual-guest
perfil. Lo que está haciendo se puede ver aquí: tuned.conf
Estamos cambiando el planificador de E / S a NOOP, ya que tanto VMware como NetApp / 3Par deberían hacer una programación suficiente para nosotros.
Sin embargo, después de investigar un poco, no estoy seguro de por qué están aumentando vm.dirty_ratio
y kernel.sched_min_granularity_ns
.
Por lo que he entendido, el aumento de un aumento vm.dirty_ratio
del 40% significará que para un servidor con 20 GB de RAM, 8 GB pueden estar sucios en cualquier momento, a menos que vm.dirty_writeback_centisecs
se golpee primero. Y al vaciar estos 8 GB, todas las E / S para la aplicación se bloquearán hasta que se liberen las páginas sucias.
Aumentar el dirty_ratio probablemente significaría un mayor rendimiento de escritura en los picos, ya que ahora tenemos un caché más grande, pero nuevamente cuando el caché se llene, IO se bloqueará durante un tiempo considerablemente más largo (varios segundos).
El otro es por qué están aumentando el sched_min_granularity_ns
. Si lo entiendo correctamente, aumentar este valor disminuirá el número de segmentos de tiempo por época ( sched_latency_ns
), lo que significa que las tareas en ejecución tendrán más tiempo para terminar su trabajo. Puedo entender que esto sea algo muy bueno para aplicaciones con muy pocos hilos, pero por ejemplo. Apache u otros procesos con muchos hilos ¿No sería esto contraproducente?
fuente
deadline
lugar de NOOP en VMware con el almacenamiento adecuado?deadline
... pero también veo mi respuesta.Aquí está el cronograma de configuraciones de adm-tuned ...
Creo que ayuda verlos en forma de tabla. ¡Lo principal a tener en cuenta es que la configuración predeterminada de RHEL6 apesta! La otra cosa es que el almacenamiento empresarial y los perfiles de invitado virtual son idénticos, excepto por un intercambio reducido en el lado del invitado virtual (tiene sentido, ¿verdad?).
En cuanto a una recomendación sobre el elevador de E / S de almacenamiento, tiene algunas capas de abstracción en la capa de almacenamiento. Usar el programador noop tendría sentido si estuviera usando RDM o presentando almacenamiento directamente en sus máquinas virtuales. Pero como van a vivir en NFS o VMFS, todavía me gustan las opciones de ajuste adicionales que ofrece el programador de fecha límite.
Los perfiles ajustados se pueden cambiar sobre la marcha en sistemas en ejecución, por lo que si tiene alguna duda, pruebe con su aplicación y entorno específico y punto de referencia.
fuente
deadline
ahora :)Mira los videos de ajuste de rendimiento de Shak y Larry de Summit, hablan sobre los perfiles sintonizados en profundidad.
Una de las principales conclusiones es que los perfiles son solo un punto de partida recomendado, no números inmutables que son mágicamente perfectos para cada entorno.
Comience con un perfil y juegue con la configuración. Genere una buena carga de trabajo de prueba similar a la producción y mida métricas que son importantes para su negocio.
Cambie una cosa a la vez y registre cada resultado en cada iteración. Cuando haya terminado, revise los resultados y elija la configuración que dio los mejores resultados. Ese es tu perfil sintonizado ideal.
fuente