proyectos ejemplos ruby-on-rails ruby apache centos passenger

ruby on rails - ejemplos - El sitio web está bajo carga pesada+ROR



django (1)

Estamos ejecutando un sitio web con ROR en CentOS 6 con 2 servidores web y 1 servidor de base de datos. Algunas veces se muestra el mensaje "El sitio web está bajo una gran carga" ... ¿Pueden algunos ayudarlo a verificar aquí?

Estamos utilizando Passenger 4.0.21 con Ruby 1.8.7 y Apache 2.2.15. El servidor web se está ejecutando con la configuración predeterminada.

A continuación hay algunos resultados del estado de los pasajeros:

# estado-pasajero

Version : 4.0.21 Date : Thu Dec 12 02:02:44 -0500 2013 Instance: 20126 ----------- General information ----------- Max pool size : 6 Processes : 6 Requests in top-level queue : 0 ----------- Application groups ----------- /home/web/html#default: App root: /home/web/html Requests in queue: 100 * PID: 20290 Sessions: 1 Processed: 53 Uptime: 24h 3m 5s CPU: 0% Memory : 634M Last used: 23h 16m 8 * PID: 22657 Sessions: 1 Processed: 37 Uptime: 23h 15m 55s CPU: 0% Memory : 609M Last used: 22h 44m * PID: 29147 Sessions: 1 Processed: 146 Uptime: 20h 47m 48s CPU: 0% Memory : 976M Last used: 18h 20m * PID: 22216 Sessions: 1 Processed: 26 Uptime: 10h 3m 19s CPU: 0% Memory : 538M Last used: 9h 44m 4 * PID: 23306 Sessions: 1 Processed: 75 Uptime: 9h 43m 22s CPU: 0% Memory : 483M Last used: 8h 44m 4 * PID: 25626 Sessions: 1 Processed: 115 Uptime: 8h 46m 42s CPU: 0% Memory : 540M Last used: 7h 59m 5


Tienes demasiadas solicitudes en cola. Desde la versión 4.0.15 hay un límite que es 100 por defecto. Aquí hay un breve extracto de http://blog.phusion.nl/2013/09/06/phusion-passenger-4-0-16-released/ que dice:

Phusion Passenger ahora muestra un mensaje de error a los clientes si hay demasiadas solicitudes en cola, en lugar de dejarlas esperar. Esto mejora mucho la calidad del servicio. De forma predeterminada, "demasiados" es 100. Puede personalizar esto con PassengerMaxRequestQueueSize (Apache) o passenger_max_request_queue_size (Nginx).

Eche un vistazo a la guía del usuario sobre esto: http://www.modrails.com/documentation/Users%20guide%20Apache.html#PassengerMaxRequestQueueSize

Puede intentar aumentarlo o configurarlo en 0 para deshabilitarlo.

EDITAR

También debe revisar sus registros para ver si hay solicitudes que demoran demasiado. Tal vez tengas algunos procesos en tu código que tardan demasiado. Prefiero usar NewRelic para monitorear esas cosas.