2012-03-22 21 views
13

Quindi il mio tipico registro router sulle Cedar sguardi piattaforma potrebbe essere simileHeroku | come leggere i log del router

2012-03-22T18:26:34+00:00 heroku[router]: GET [my_url] dyno=web.9 queue=0 wait=0ms service=228ms status=302 bytes=212 
2012-03-22T18:26:36+00:00 heroku[router]: GET [my_url] dyno=web.7 queue=0 wait=0ms service=23ms status=200 bytes=360 
2012-03-22T18:26:45+00:00 heroku[router]: GET [my_url] dyno=web.30 queue=0 wait=0ms service=348ms status=201 bytes=1 

voglio confermare la mia comprensione dei termini queue, wait e service

miei pensieri iniziali dove che:

  • coda: il nome della coda, se utilizzando sfondo dei o resque
  • attendere: quanto tempo è la richiesta in attesa nel router (Request Queuing a New Relic)
  • servizio: quanto tempo ci vuole in realtà l'applicazione per gestire la richiesta (escluso il tempo di assorbire tutti)

Ma il mio aspettare nei miei ceppi è sempre 0 ms. Anche se ho un notevole arretrato.

Le mie definizioni sono errate?

+0

Hai detto che la tua attesa è sempre 0ms, se la coda è anch'essa 0, come fai a sapere che hai un backlog al di fuori di questo? –

+0

Quindi, ad esempio, serviamo il mio crossdomain.xml - un file statico, che su una risposta di carichi bassi entro 10 ms. A carichi elevati può essere 6000ms + fino al timeout degli anni '30. Mi aspetterei che la maggior parte di quel tempo sia in coda e aspetto. – Jonathan

+0

Inoltre, quando aggiungo più dynos, il tempo di servizio diminuisce, e viceversa – Jonathan

risposta

12
  • Coda: il numero di richieste in attesa di essere elaborate da un banco prova.
  • Attendere: il tempo durante il quale questa richiesta è stata messa in coda prima di essere elaborata.
  • Servizio: il tempo di elaborazione della richiesta.

Il tempo di risposta totale sarà attendere + servizio.

+0

Puoi spiegare un po 'di più che cosa significa "servizio"? Significa, il tempo impiegato per eseguire qualsiasi script prima di inviare una risposta o è un timer interno che non ha nulla a che fare con il codice che uno ha scritto? –

+0

"il tempo necessario per eseguire qualsiasi script prima di inviare una risposta" - Questo. –

+0

Come avvertenza, il tempo di "servizio" sembra tenere conto del tempo di rete. Questo è molto probabilmente simile a come funziona il "time-taken" nei log di IIS. http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/676400bc-8969-4aa7-851a-9319490a9bbb.mspx?mfr=true L'ho basato su un confronto di alcuni articoli di lunga durata (~ 20+ secondi) in base al "servizio" e confrontati con la ripartizione fornita dal "monitoraggio utente reale" della nuova reliquia, che indica che quasi il 100% di quel tempo è il tempo di "rete". – Jody

Problemi correlati