Domanda

Questo potrebbe anche appartenere a serverfault. E 'una specie di una combo tra configurazione del server e il codice (credo)

Ecco la mia messa a punto:

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

Esecuzione top, ogni volta che clicco un link sul mio sito, vedo il mio processo di java utilizzo della CPU picco. Se si tratta di una piccola pagina, a volte è l'utilizzo solo il 10%, ma a volte in una pagina più complicato, la mia CPU arriva fino al 44% (mai sopra, non so perché). In questo caso, la richiesta può assumere verso l'alto di minuti mentre load average del mio server sale costantemente fino a 8 o superiore. Questo è solo da cliccando un collegamento che carica un paio di richieste da parte di alcuni servizi, niente di troppo complicato. La memoria processo java si aggira intorno al 20% la maggior parte del tempo.

Se lascio per un po ', carico medio scende di nuovo a nulla. Facendo clic su un paio di link, si arrampica back up.

Sono in esecuzione di un piccolo esempio Amazon per il frontend rotaie e un grande esempio per tutti i servizi.

Ora, questo è ovviamente inaccettabile. Un singolo utente può portare picco del carico medio a 8 e con due persone ad usarlo, essa sostiene che la media del carico per tutta la durata del nostro utilizzo del sito. Mi chiedo che cosa posso fare per controllare cosa sta succedendo? Sono ad una perdita completa quanto a come posso eseguire il debug di questo. (Non accade a livello locale quando corro i binari applicazione tramite JRuby, non all'interno del contenitore Tomcat)

Qualcuno può illuminarmi su come avrei potuto ispezionare il mio JRuby app per scoprire come potrebbe essere utilizzato fino tali ingenti risorse?

Nota, ho notato questo un po 'prima, apparentemente a caso, ma ora, dopo l'aggiornamento da Rails 2.2.2 a 2.3.5 che sto vedendo tutto il tempo e rende il sito completamente inutilizzabile.

Eventuali suggerimenti su dove cercare sono molto apprezzate. Io non so nemmeno da dove cominciare.

Nessuna soluzione corretta

Altri suggerimenti

Assicurarsi che non v'è alcuna comunicazione imprevisto tra il Tomcat e qualcos'altro. Vorrei verificare in primo luogo se:

  • ActiveMQ mediatore non comunica con gli altri intermediari della rete. Di mediatore AMQ impostazione predefinita avviare in modalità auto-discovery OpenWire.
  • JGroups / multicast, in generale, non comunicano con qualcosa nella tua rete.

Questa carico inutile può risultare dalla lavorazione dei messaggi provenienti da un'altra applicazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top