2012-09-26 28 views
6

Me pregunto cuál es la mejor manera de rastrear los tiempos de espera de unicornio desde mi aplicación.unicorn timeout handling

Hay algunos bits de la aplicación que son lentos y actualmente se agota el tiempo de espera. Podría aumentar el tiempo de espera pero eso está empujando el problema debajo de la alfombra. Idealmente, me gustaría obtener una notificación de aerofrenado o algo de ese efecto. No estoy buscando una guía de rendimiento, solo una manera de informarte de manera eficiente y confiable sobre los tiempos de espera.

¿Cómo han manejado otras personas los tiempos de espera de la aplicación Rails usando el unicornio? escanear el registro de error nginx? conectar un controlador en la configuración de unicornio? controlador en nginx config?

[Ubuntu 12.04 + Nginx + unicornio + 3,2 + carriles rubí 1.9.3]

+0

¿Encontró una respuesta? Estamos usando Rack :: Timeout. – nroose

+0

La solución fue escanear los registros nginx para el estado 503 (o algunos 50X, no recuperar) y ver desde allí. Un poco cumple el objetivo de alguna manera extraña. –

Respuesta

0

Me inclinaría a crear una cuenta en New Relic, utilizar su joya newrelic_rpm y recopilar datos de rendimiento relacionados con este tema en su Aplicación web. NR ofrece un nivel de cuenta gratuito que es útil para esta situación.

La ventaja de utilizar este método de instrumentación un tanto vago es doble: no hay necesidad de una implementación de instrumentación personalizada en su aplicación; y no es necesario verificar los registros del servidor web en sentido descendente para detectar errores del servidor 503.

+0

¡Hola! ¡Gracias por la respuesta! Pero no estoy buscando introducir un nuevo servicio o una aplicación en este momento. Estoy buscando un gancho específico en la captura de tiempo de espera de unicornio –

+0

Luego, tal vez deberías consultar las secciones 'configurador' y 'ajuste' del manual de Unicornio. – Sasha

0

Consulte el 'configurator' section del sitio web del manual del Unicornio. Hay una serie de elementos relacionados con el retraso acumulado y los tiempos de espera que deberían darle el control que necesita.

+0

Ya he pasado por esas páginas. Por lo que yo sé, no hablan de tiempos de espera de manejo. Hablan de controlar el período de tiempo de espera solamente. –

+0

¿Ha agregado un bloque 'asegurar' a las partes relevantes del código de su aplicación que se agota? – Sasha

+0

Si conociera todas las partes lentas, solo arreglaría esas partes y no me importaría el tiempo de espera n todas. Específicamente solo me interesa manejar el tiempo de espera informándome. –