Diferencia de performance entre dos serveres

Tengo problema realmente extraño con mis serveres. Tengo dos serveres, ambos con los mismos procesadores, discos duros y todo lo demás excepto RAM. Primero uno tiene 16GB DDR3, el segundo es con 32GB. En la primera el sistema operativo es Ubuntu server 10.04.4, en la segunda – Ubuntu server 11.04.

Así que aquí está el problema. Tengo una aplicación relativamente pesada php / mysql que se ejecuta en ambos. En el primero tengo 3 instancias de la aplicación, en el segundo sólo uno, pero el segundo server es mucho más lento. (He tripple verificado los files de configuration de apache, mysql y php) y son absolutamente los mismos. Cuando ejecuto ab en el primero de localhost:

ab -n 1000 -c 100 http: // local_page /

Concurrency Level: 100 Time taken for tests: 5.056 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transfernetworking: 26133000 bytes HTML transfernetworking: 25721000 bytes Requests per second: 197.77 [#/sec] (mean) Time per request: 505.642 [ms] (mean) Time per request: 5.056 [ms] (mean, across all concurrent requests) Transfer rate: 5047.15 [Kbytes/sec] received 

En el segundo, la situación es diferente:

 Concurrency Level: 100 Time taken for tests: 20.593 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transfernetworking: 28437000 bytes HTML transfernetworking: 28024000 bytes Requests per second: 48.56 [#/sec] (mean) Time per request: 2059.296 [ms] (mean) Time per request: 20.593 [ms] (mean, across all concurrent requests) Transfer rate: 1348.54 [Kbytes/sec] received 

Por lo que veo el segundo, que imo debe funcionar mejor es mucho más lento. No tengo más ideas de qué ajustar para acelerar el segundo server. Sé que se disparó en la oscuridad, pero ¿podría apuntarme a algunas guías generales para comprobar lo que está mal?

En el primer server, cuando tengo muchos usuarios tengo un alto uso de cpu y ram (como se esperaba), en el segundo – incluso cuando muchos usuarios están conectados tengo aproximadamente el 50% de uso de CPU superior y aproximadamente el 50% utiliza RAM. Las lecturas de disco no son intensivas. El process más utilizado es mysql, que en el segundo server rara vez va más del 50% de uso de la CPU y 5% de uso de RAM según la top . Tal vez la mejor idea para ahora es obligar a mysql a usar tantos resources como pueda.

4 Solutions collect form web for “Diferencia de performance entre dos serveres”

Hay tantas posibilidades aquí que es difícil saber por dónde empezar. Ni siquiera está ejecutando el mismo sistema operativo, por lo que las versiones de todo van a ser diferentes, junto con las configuraciones pnetworkingeterminadas de las que está trabajando.

Realmente, todo lo que puedo sugerir es jugar a cazar el cuello de botella . Me inclinaría hacia un server MySQL sin aturdir, ya que tiende a ser el primer punto de llamada ya que las configuraciones pnetworkingeterminadas de MySQL son muy sutiles para el hardware moderno. Sin embargo, es muy difícil decirlo con certeza, ya que el número de variables potenciales es tan grande.

Lo que yo recomendaría es iniciar Apache en modo single-child y ejecutar strace en él con la opción -tt . El command se vería así:

 sudo strace -f -tt -T -s 500 -o httpd.trace httpd -X 

Lo que está buscando es una gran brecha entre syscalls o syscall que lleva mucho time.

Basado en su charla de MySQL, sospecho que será una encuesta () o varios de ellos. Si el problema resulta ser MySQL, es posible que pueda averiguar qué lo está causando, activando el logging de consultas lentas, estableciendo el time largo_query_time en algo bajo como 1 segundo o 0,1 segundos y activando log_queries_not_using_indexes.

También puede encontrar diferencias entre el performance de los serveres mediante el uso de herramientas de monitorización y charts como Munin, Cacti o Zabbix. Recomiendo encarecidamente instalar uno si los.

50% límite de CPU límite se ve muy bien como la configuration de PHP open_basedir

Sin saber qué aplicación está ejecutando, no puedo sugerir más.

Pero tenga en count, una testing tan corta probablemente sólo estará probando la creación / desove del hilo en lugar del propio performance de la aplicación. También golpeará RAM más que cualquier otra cosa debido a los almacenadores intermediarios del disco / la memory caching, así que si usted tiene una configuration más óptima de la memory en un server sobre otro (eg canal triple contra canal solo), tendrá un impacto ENORME .

Ejecute una versión de inicio de memtest en cada máquina y le dará una indicación aproximada de ancho de banda de memory. Si su mucho menor en una máquina, no es su respuesta.

Le sugiero que busque en el hecho de que los controlleres de memory Intel escala frecuencia hacia abajo como se ajusta ranuras de memory dentro de la máquina. Como un ejemplo tiene 3 twigs para cada canal de memory (9 Dimms) si llena sólo 1 twig de la frecuencia de memory se quedará en 1.6Ghz si llena todos los dimms se bajará a 1.06Ghz. Compruebe que, sólo mediante la eliminación de la mitad de la memory y mantener las mismas configuraciones en la secod máquina. A menudo más no significa mejor;)

  • Servidor privado DynDns con bind9
  • ¿Dónde apache almacena la location de php?
  • ¿Cómo obtengo rsyslogd para registrar el FQDN de un server en lugar de su nombre de host corto?
  • Rsync sobre sshfs omite los nombres de file que empiezan con subrayado
  • No se puede ejecutar SSH o enviar commands a /etc/init.d/ssh
  • Problemas de FTP con Ubuntu en AWS
  • ¿cómo puedo configurar tshark para capturar URL completa uri request ip y sello de time
  • OpenSSH en Ubuntu 10.10 (Maverick): ¿debería generarse el file ~ / .ssh / authorized_keys automáticamente?
  • Ubuntu 12.04 no puede arrancar después de instalar con software RAID 1
  • reglas udev en ubuntu
  • AutoFS con NIS y no puede montar un recurso compartido propiedad de root
  • ¿Una forma sencilla de enviar correo desde el contenedor Docker?
  • isc-dhcp arrienda file nunca limpiado
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.