Question

Cela pourrait aussi appartenir à serverfault. Il est une sorte de combo entre config serveur et le code (je pense)

Voici ma configuration:

Rails 2.3.5 app running on jruby 1.3.1
Service Oriented backend over JMS with activeMQ 5.3 and mule 2.2.1
Tomcat 5.5 with opts: "-Xmx1536m -Xms256m -XX:MaxPermSize=256m -XX:+CMSClassUnloadingEnabled"
Java jdk 1.5.0_19
Debian Etch 4.0

L'exécution top, chaque fois que je clique sur un lien sur mon site, je vois mon processus de java pic d'utilisation du processeur. Si c'est une petite page, il est parfois l'utilisation à seulement 10%, mais parfois sur une page plus compliquée, mon CPU monte à 44% (jamais au-dessus, ne sais pas pourquoi). Dans ce cas, une demande peut prendre plus de minutes alors que le load average de mon serveur monte régulièrement jusqu'à 8 ou plus. Ceci est juste de cliquer sur un lien qui charge quelques demandes de certains services, rien de trop compliqué. La mémoire du processus Java tourne autour de 20% la plupart du temps.

Si je laisse un peu, la charge moyenne remonte à rien. En cliquant sur un peu plus de liens, remonte vers le haut.

Je suis en un petit exemple pour le frontend amazon rails et un grand exemple pour tous les services.

Maintenant, ce qui est évidemment inacceptable. Un seul utilisateur peut apporter à la moyenne pic de charge à 8 et deux personnes qui l'utilisent, il soutient que la charge moyenne pendant toute la durée de notre utilisation du site. Je me demande ce que je peux faire pour vérifier ce qui se passe? Je suis à une perte complète de la façon dont je peux déboguer cela. (Il ne se produit pas lorsque je lance localement les rails par l'intermédiaire de l'application jruby, pas à l'intérieur du récipient de tomcat)

Quelqu'un peut-il me dire comment je pourrais vérifier sur mon application JRuby pour savoir comment il pourrait éventuellement être épuisait ces énormes ressources?

Note, Je l'ai remarqué un peu avant, apparemment au hasard, mais maintenant, après la mise à niveau des rails 2.2.2 à 2.3.5 Je vois tout le temps et il rend le site complètement inutilisable.

Des conseils sur où regarder sont grandement appréciés. Je ne sais même pas par où commencer.

Pas de solution correcte

Autres conseils

Assurez-vous qu'il n'y a pas de communication inattendue entre le Tomcat et autre chose. Je voudrais vérifier en premier lieu si:

  • courtier ActiveMQ ne communique pas avec les autres courtiers dans votre réseau. Par courtier par défaut AMQ démarrer en mode auto-découverte OpenWire.
  • JGroups / multidiffusions en général ne communiquent pas avec quelque chose dans votre réseau.

Cette charge inutile peut résulter du traitement des messages provenant d'une autre application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top