CentOS 6 hace mucho más IO que CentOS 5


10

Estoy comparando una aplicación en dos servidores idénticos, uno es Centos 5.8 y el otro es Centos 6.2. Mi aplicación funciona mucho más lento (50% o menos) en la máquina Centos 6.2.

Al intentar diagnosticar el problema, estoy rastreando la CPU, la RAM y la E / S durante toda la prueba de rendimiento. Veo que las lecturas de disco son significativamente más altas en el cuadro Centos 6.2, medido con iostat.

Ambos sistemas ejecutan XFS donde se ejecuta mi punto de referencia. Ambos son servidores HP con controladores RAID de almacenamiento en caché de 512 MB con 8 x 300 GB SAS con RAID 10.

Aquí está la salida de xfs_info para cada uno:

centos5

meta-data=/dev/cciss/c0d0p5      isize=256    agcount=32, agsize=8034208 blks
         =                       sectsz=512   attr=0
data     =                       bsize=4096   blocks=257094144, imaxpct=25
         =                       sunit=32     swidth=128 blks, unwritten=1
naming   =version 2              bsize=4096 
log      =internal               bsize=4096   blocks=32768, version=1
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0

centos6

meta-data=/dev/sda5              isize=256    agcount=4, agsize=57873856 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=231495424, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=113034, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

¿Cuál es exactamente su pregunta?
Tim Brigham

¿Puedes mostrar tu montaje XFS y las opciones de creación del sistema de archivos? ¿Puedes describir el hardware y el diseño del disco con más detalle?
ewwhite

Quest es que, en igualdad de condiciones, al menos las que puedo ver, Centos 6.2 está comparando el 50% de Centos 5.8 para mi aplicación. La otra diferencia que puedo medir actualmente es que las lecturas son MUCHO más altas.
tmcallaghan

Respuestas:


10

Gracias por actualizar la publicación con más información.

Se está ejecutando en sistemas ProLiant, así que hay una cierta cantidad de trabajo necesario para optimizar el control y la situación de E / S . Además, sus montajes XFS están utilizando las opciones predeterminadas. Recuerde que está utilizando un controlador diferente entre estos sistemas operativos. El servidor EL5 tiene cciss, mientras que el sistema EL6 está utilizando el hpsamódulo. Hay una diferencia , sin embargo, el problema que experimenta probablemente esté relacionado con las diferencias del sistema operativo. Entonces, esto es lo que comprobaría:

  • Cambie sus montajes XFS para incluir noatimey deshabilitar las barreras de escritura con nobarrier. Aquí hay una cadena de montaje de muestra que uso a menudo .
  • El comportamiento del elevador de E / S es diferente entre sus versiones de Linux. Prueba el deadlineo noopyo ascensor / S en los CentOS 6 servidor. Puede cambiar eso sobre la marcha con echo deadline > /sys/block/cciss\!c0d0/queue/schedulero agregando elevator=deadlineen la entrada de arranque de grub.
  • Asegúrese de que su caché de lectura / escritura sea óptima para su carga de trabajo. Normalmente voy con un 75% de escritura y un 25% de lectura.
  • Actualice el firmware en los componentes del servidor. Cada revisión del firmware del controlador Smart Array RAID tiende a aportar nuevas funcionalidades. Esto suena como un controlador HP Smart Array P410, así que asegúrese de tener la versión 5.14 .

Editar :
Estoy mirando la salida xfs_info para sus sistemas CentOS 5 y CentOS 6. ¡Formateó las particiones XFS con diferentes parámetros!

El sistema EL5 tiene 32 grupos de asignación XFS, mientras que el sistema EL6 solo tiene 4. Los grupos de asignación permiten a XFS paralelizar las operaciones concurrentes del sistema de archivos.

Dada la cantidad de espacio disponible y las especificaciones de CPU de su servidor, su configuración EL6 existente está limitada por la baja agcount. Vea las notas de Red Hat sobre esto. En hardware como este, donde el almacenamiento no está en el rango de varios terabytes , generalmente especifico un grupo de asignación por 4 GB de espacio de partición . Como mínimo, vaya a 32 para que coincida con su servidor EL5 ... Intente formatear la partición EL6 con esos parámetros para ver si hay una diferencia de rendimiento ...


Probé los 4 de los anteriores, ninguno hizo ninguna diferencia apreciable en el rendimiento de mis puntos de referencia.
tmcallaghan

Vea mi edición arriba. Las dos particiones XFS en EL5 y EL6 se formatearon con parámetros muy diferentes.
ewwhite

Gracias por la asistencia continua, reformatearé mi XFS y veré si eso ayuda.
tmcallaghan

Por favor, publique los resultados.
ewwhite

3
Descubrimos que las grandes páginas transparentes eran el problema. Al desactivarlo, el rendimiento de nuestro servidor Centos6 es similar al de Centos5. El comando era "$ echo never> / sys / kernel / mm / redhad_transparent_hugepage / enabled". Otras distribuciones hacen esto a través de / sys / kernel / mm / transparent_hugepage / enabled "
tmcallaghan

0

Cuando ejecuta iotop, ¿qué está haciendo las lecturas del disco en el cuadro 6.2?

Además, ¿cuáles son sus opciones de montaje en el dispositivo desde el que está leyendo? Es posible que desee ver noatime y relatime


Estoy comparando una aplicación MySQL y no estoy usando IO directo.
tmcallaghan

mount es idéntico en ambas máquinas, "/ dev / cciss / c0d0p5 / data xfs por defecto 0 0"
tmcallaghan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.