server nodejs suspendu de time en time

J'ai un server de noeud (0.6.6) exécutant une application Express, avec Mongoose et s3, sur une machine Ubuntu 11.04.

Plusieurs fois par heure, le server est suspendu. Cela signifie que la request fonctionne bien, je vois les loggings express, et tout de suite, le server cesse de répondre. Aucune erreur, aucune trace, aucune connection et, de façon étrange, le browser ne montrera pas la request même dans la window de debugging du réseau. À partir de n'importe quelle machine du réseau local, c'est le même comportement. Je redémarre le server et il est correct de nouveau pendant plusieurs minutes, puis il se met à suspendre à tout moment en faisant quelque chose de différent.

La même application sur Amazon sur la même version Ubuntu fonctionne bien et ne se bloque jamais.

Je sais que tout cela est un peu vague, mais je ne sais pas par où commencer. Quelqu'un d'entre vous a-t-il déjà vu quelque chose comme ça avant? Une idée?

One Solution collect form web for “server nodejs suspendu de time en time”

Donc, il y a deux causes dont j'ai découvert que les deux pourraient même provoquer le comportement décrit.

  1. Transférer à un process de journal. Dans mon script upstart j'ai eu une ligne disant quelque chose comme exec su nodejs node /home/nodejs/server.js | /home/nodejs/logger.js exec su nodejs node /home/nodejs/server.js | /home/nodejs/logger.js cela ferait en sorte que le démon upstart supervise le process de journalisation au lieu du server. Ainsi, un server qui s'écroule passe inaperçu et semble être bloqué. (au lieu de cela, on pourrait utiliser <<< pour passer de droite à gauche)

  2. process.on('uncaughtException', ...) peut rendre l'application nœud bloquée. Je pense que l'un des modules que j'ai utilisé a eu un mode de debugging qui a permis cet événement.

  • Comment puis-je supprimer tout dans le dossier / tmp /?
  • En utilisant la command unix 'mail' depuis CGI - dangereux?
  • Quelle command Unix puis-je utiliser pour appliquer une limite de 100 files dans un dossier?
  • Comment un script sh peut-il déterminer si il a été démarré comme un travail de cron par opposition à l'interaction ou à l'arrière-plan?
  • Dois-je installer mssql avant de pouvoir utiliser mssql.so avec php on unix?
  • Comment migrer un site Web d'un server à un autre avec un time d'arrêt minimum?
  • Pourquoi ma RAM (16G) est-elle complètement épuisée?
  • Quelles sont mes options pour centraliser la gestion des utilisateurs Unix
  • sftp: get file by mtime
  • Si je gère cette command, mon Apache2 fonctionnera-t-il toujours?
  • Apache et les utilisateurs écrivent des problèmes d'autorisation
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.