2010-01-21 9 views
5

Tengo una aplicación de Google App Engine con Java y Spring MVC 3.0. Una gran parte del tiempo si transcurren incluso 2 minutos sin una solicitud, entonces la próxima solicitud es una solicitud de carga que tarda unos 12 segundos en responder y utiliza unos 5 segundos de tiempo de CPU. Algunas veces hace una solicitud de carga incluso cuando no hubo tráfico por solo un minuto.Las solicitudes de carga de Google App Engine suceden con mucha frecuencia

Google dice que una vez que hay un flujo constante de tráfico a su sitio, entonces no tendrá que preocuparse por eso, pero incluso si tuviera un flujo constante, probablemente todavía habría momentos en los que pasaría sin tráfico por 1 minuto.

¿Es esta una cantidad normal de tiempo de inactividad para que se desactive la instancia de JVM?

EDITAR: Después de investigar encontré que la inicialización de JDO es la parte que toma la mayor cantidad de tiempo (~ 6 segundos). Y después de haber desactivado component-scan en la primavera, y haber especificado manualmente los controladores, el tiempo de configuración del resorte bajó a 1,5 segundos. Si no uso jdo en una solicitud de carga, entonces el tiempo de respuesta de la solicitud de carga es más razonable ~ 3 segundos en lugar de ~ 12 segundos.

Lo que sería bueno es que podamos serializar el DispatcherServlet a la Memcache.

+0

Relacionado con: http://stackoverflow.com/questions/2051036/google-app-engine-application-instance-recycling-and-response-times/2051118#2051118 –

+0

man stack overflow es indexado por google fast. Esta página ya es número 2 en la búsqueda de Google para las solicitudes de carga del motor de la aplicación. – Kyle

Respuesta

1

Ha habido una solución por parte del equipo de Google, y ahora las solicitudes de carga solo se realizan cada 10 minutos, lo que es mucho más razonable.

+0

¿Podría dar alguna referencia para eso? No pude encontrar la fuente de esa información. ¡Gracias! –

0

La evidencia actual parece apuntar a que AppEngine recicla los recursos de su aplicación después de períodos inactivos bastante cortos, y eso definitivamente puede ser una dificultad mayor para aplicaciones como la suya que tienen tiempos de arranque prolongados. Actualmente no estoy al tanto de ninguna solución a este problema.

+0

Y algunos desarrolladores están intentando jugar con el sistema haciendo que sus sitios sean golpeados por pings con bastante frecuencia. Lo que significa que Google combate eso, y así sucesivamente. Solía ​​ir 20 minutos antes de necesitar un rebote: ahora son unos minutos. Nunca he intentado jugarlo. –