2013-02-21 4 views
0

Je reçois fréquemment l'erreur suivante lors de l'accès à mon application depuis appengine. Quelqu'un peut-il savoir quelle est la raison de cela?Appengine Slowness

Causée par: com.google.apphosting.api.DeadlineExceededException: Cette demande (216e5897c4ca40e3) a commencé à 21/02/2013 04: 27: 45,277 UTC et exécutait encore au 21/02/2013 04: 28: 44,702 UTC.

Répondre

2

Il ne s'agit pas de lenteur AppEngine. Qu'est-ce qui se passe, c'est que vous êtes confronté à une date limite que AppEngine a mis en place pour certains types d'appels. De la documentation "Un gestionnaire de requêtes dispose d'un temps limité pour générer et renvoyer une réponse à une requête, typiquement autour de 60 secondes Une fois la date limite atteinte, le gestionnaire de requêtes est interrompu. La servlet en lançant une com.google.apphosting.api.DeadlineExceededException. "

Donc, cela signifie que vous appelez probablement une URL de requête et qu'elle a atteint une limite de 60 secondes mais n'a pas encore terminé sa tâche et envoyé une réponse.

Si vous regardez l'exception que vous avez mise "Causée par: com.google.apphosting.api.DeadlineExceededException: Cette demande (216e5897c4ca40e3) a commencé à 2013/02/21 04: 27: 45.277 UTC et était toujours en cours d'exécution à 2013/02/21 04: 28: 44.702 UTC. " - vous pouvez voir que le délai de 60 secondes a été atteint: 04:27:45 - 04: 28: 44.702

Alors regardez votre code et essayez de revenir plus tôt. Si vous pensez que vous avez besoin de plus de temps, regardez Cron Jobs qui ont une limite de 10 minutes ou pour des exigences plus complexes, vous avez Backends.

+0

Mais la même demande dans ma machine locale prend un peu moins de 2 secondes pour répondre et les applications locales et en direct ont le même type de données à retourner en réponse, non seulement qu'une simple demande de base se comporte aussi parfois de la même manière qui renvoie juste la page de connexion. Cela arrive très souvent mais pas toujours – user1614862

+0

@ user1614862 Si ce n'est pas souvent, vous devez également savoir que lorsque l'application se réveille (après un nouveau déploiement, ou une nouvelle instance), cela prend du temps et cela peut prendre plus d'une minute. ne devrait pas, mais il arrive .. – Lipis

+0

Il se passe toujours, après tant de jours aussi le problème continue .. il ya l'URL pour la même chose. http://ezeeappointerr.appspot.com/appointment.jspx – user1614862

0

Si ces demandes sont normalement rapides, il se peut que celles qui échouent soient les premières à frapper une nouvelle instance. Cela signifie que beaucoup de chargement de classes peut entraîner une demande longue.

Pensez à utiliser les demandes de warm-up pour éviter cela, assurez-vous que votre demande de warm-up frappe les mêmes classes/cadres tel qu'il est utilisé par cette méthode:

https://cloud.google.com/appengine/docs/java/config/appconfig#Java_Warmup_requests