9 votos

¿Cómo puedo encontrar la causa de una gran diferencia en el rendimiento entre los dos idénticos Ubuntu servidores?

Estoy ejecutando dos Dell R410 servidores en el mismo bastidor de un centro de datos (detrás de un equilibrador de carga). Ambos tienen la misma configuración de hardware, ejecutar Ubuntu 10.4, tienen los mismos paquetes instalado y ejecutado el mismo Java servidores web (sin carga) y estoy viendo una sustancial diferencia de rendimiento entre los dos.

La diferencia de rendimiento es más evidente en el promedio de los tiempos de respuesta de ambos servidores (medido en la aplicación Java de sí mismo, sin las latencias de red): Uno de ellos es del 20-30% más rápido que el otro, muy consistente.
Yo solía dstat de averiguar, si no hay más cambios de contexto, IO, de intercambio o de cualquier cosa, pero no veo razón para la diferencia. Con la misma carga de trabajo (no intercambio, prácticamente no IO), el uso de la cpu y la carga es superior en un servidor.

Así que la diferencia parece ser principalmente la CPU, pero mientras que un simple cpu benchmark usando sysbench (con todos los otros de la carga apagado) dió una diferencia, era sólo el 6%. Así que quizá no es sólo la CPU, sino también el rendimiento de la memoria.

Hasta ahora he comprobado:

  • Las revisiones de Firmware en todos los componentes (idénticos)
  • Configuración de la BIOS (hice un volcado de uso dmidecode, y que no mostró diferencias)
  • He comparado /proc/cpuinfo, no hay diferencia.
  • Yo en comparación de la salida de cpufreq-info, no hay diferencia.
  • Java / JVM Parámetros (misma versión y parámetros en ambos sistemas)

También, he reemplazado por completo la memoria RAM hace algunos meses, sin ningún efecto.

Yo estoy perdido. ¿Qué puedo hacer para averiguar, ¿qué está pasando?

ACTUALIZACIÓN: Yay! Ambos servidores realizar igualmente ahora. Era el "poder MIERDA" ajustes como jim_m_somewhere nombre en los comentarios. Las opciones del BIOS para la "Administración de Energía" estaban en "Máximo Rendimiento" en el servidor rápido, y en "Activo Controlador de Potencia" (ajuste de fábrica de Dell) en el otro. Obviamente se me olvidaba, que me hizo que la configuración de dos años, y no pude hacer que en todos los servidores. Gracias a todos por sus muy útiles entrada!

6voto

chutz Puntos 4628

Dos ideas, dependiendo de cuán lejos quieres ir con esto:

  1. Intercambiar los discos de los servidores y ver si la velocidad de rendimiento se mantiene en el hardware o se mueve con el software.

  2. Comparar el resultado de /opt/dell/toolkit/bin/syscfg -o complete-bios-config.out si de alguna manera se puede engañar a este paquete para instalar.

3voto

SolarKennedy Puntos 31

Más posibilidades de salida y la de diff:

  • sysctl-a (asegúrese de que el kernel de tuneables son los mismos)
  • cat /proc/interrupts (tal vez hay alguna otra pieza de hardware de cachondeo?)
  • ipmitool lista de sensor (tiro largo, pero de verificación para obtener más bajas diferencias de nivel, el sobrecalentamiento de la tensión, problemas, etc)

3voto

voretaq7 Puntos 63415

Esto suena como que podría ser de equilibrador de carga relacionado conmigo. Cuando usted dice "la misma carga de trabajo" ¿cómo medir esto?
Son directamente evaluación comparativa de cada servidor mediante la aplicación de una prueba de carga en el aislamiento?
o eres de la aplicación de algunas de carga para el equilibrador de carga y mirando los resultados en ambos servidores?

Si vas a hacer la última (la medición de la carga colocada en ambos servidores a través del equilibrador de carga) el equilibrador de carga no puede ser la división de la carga de trabajo exactamente de manera uniforme entre los servidores (un 20% de desfase de un par de servidores no es raro que, dependiendo de cómo el equilibrador de carga decide quién recibe lo que pide), que está causando un servidor a tomar más carga, y por lo tanto un mal desempeño.

(Si usted está directamente evaluación comparativa de cada servidor, en el aislamiento, sin necesidad de utilizar el equilibrador de carga como un intermediario, y has comprobado que todos los componentes son idénticos (abajo a la fabricante de revisiones) entre ambos sistemas, estoy en una pérdida, no puedo pensar en ninguna otra medibles razón para este tipo de diferencia de rendimiento entre idénticos servidores)

3voto

Nate Puntos 8984

Pruebe algunas herramientas de creación de perfiles, el sistema de perfilado como perf o Java perfilado como VisualVM.

Con perf podría perfil de la ejecución de Java proceso por el PID o el perfil de un punto de referencia. Mira a ambos sistemas, ver donde el lento sistema está gastando su tiempo.

apt-get install linux-tools-common linux-tools

Entonces algo como:

perf record -e cpu-cycles -p <pid>

o

perf record -a -g <benchmark command>

entonces

perf report

Un par de ideas de cómo los sistemas pueden funcionar de manera diferente:

Medio ambiente: Es la temperatura del aire o de flujo de aire de diferente? Están en bastidores? He visto sistemas de funcionar de manera diferente en diferentes posiciones de rack, causada por la vibración. Hay diferentes niveles de vibración a lo largo de cada rack. Es poco probable, teniendo en cuenta que usted dijo que no hay casi nada de e/S que se utiliza. Pero he visto discos de frenar a 2MB/seg las escrituras secuenciales debido a la vibración en las partes de un rack.

Hardware Faltas: Cualquier hardware podría ser defectuoso. El uso de los perfiles para ver lo que es lento. Podría ser un mal de la CPU o del chipset, un disipador de calor de no conectado correctamente, de equilibrio fans causando la vibración, el error de los fans, incluso una mala fuente de alimentación. Intente cambiar las cosas que son fáciles de intercambiar.

1voto

ArrowInTree Puntos 144

Por qué nadie ha sugerido 'sysprof'..?

Esto es lo que fue diseñado.

O ummm segundo pensamiento... trate de rellenos de ciertos límites en /etc/security/limits.conf

Trate de ambos.

Si usted no consigue nada.... usted tiene un problema de seguridad más probable es que o por un defecto físico.

vea también: Mi servidor linux "Número de procesos creados" y "cambios de Contexto" están creciendo increíblemente rápido

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: