2009-06-22 20 views
14

Ho un server Web Apache e quando un determinato utente accede a una determinata pagina ottengo una riga di registro il cui timestamp è fuori sincrono.Le righe di registro di Apache appaiono fuori sequenza - perché?

Esempio di uscita:

IP1 - - [22/Jun/2009:12:20:40 +0000] "GET URL1" 200 3490 "REFERRING_URL1" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)" 

IP2 - - [22/Jun/2009:12:11:47 +0000] "GET URL2" 200 17453 "-" "Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-US; rv:1.9.0.11) Gecko/2009060214 Firefox/3.0.11" 

IP3 - - [22/Jun/2009:12:20:41 +0000] "GET URL3" 200 889 "REFERRING_URL2" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; 3P_USEC 1.0.11.2; .NET CLR 3.5.30729; .NET CLR 3.0.30618)" 

(ho anonima chiedendo IP - IP1, IP2 e IP3, gli URL richiesto - URL1, URL2 e URL3, e le due URL referrrer)

Come può essere visto le tre linee (che apparivano nel log in questo ordine), sono fuori sincrono. Ciò accade solo quando IP2 richiede URL2 - tutti gli altri registri sembrano normali.

Qualche idea?

risposta

20

I registri vengono scritti al completamento della richiesta, quindi è possibile scrivere le richieste anticipate dopo quelle brevi in ​​ritardo. Aggiungi% D alla definizione di Tour Logform per visualizzare il tempo necessario per soddisfare la richiesta, in microsecondi.

Vedi altro here

0

Forse stai facendo una specie di richiesta COMET?

Il mio primo pensiero è che il registro registra solo l'ora in cui è terminata la richiesta? Quindi forse la richiesta di IP1 ha richiesto un po 'di tempo per essere completata, ma è arrivata prima di IP2. Solo le richieste che so che si comportano in questo modo sono richieste AJAXey Comet.

Probabilmente non è la risposta corretta, forse un indizio.

Modifica: http://www.linuxquestions.org/questions/linux-networking-3/apache-log-entries-order-516354/ conferma che l'ora nel registro include il tempo necessario per trasferire il contenuto al browser.

+0

No, niente di esotico. Guardando oltre, il dispositivo in questione sembra essere un dispositivo mobile (che sta passando per il suo IP), ma sembra ancora strano che la pagina in questione (circa 210k in totale) impieghi circa 9 minuti per caricarsi. – PaulJWilliams

+0

Forse no. Potrebbe essere la ricerca di dati pigri che cercano di conservare la larghezza di banda. Forzare il tuo server per mantenere le cose in memoria fino alla pagina di cui ha bisogno la pagina trasferita. (ipotesi selvaggia) Non ho visto questo in natura, ma ha senso. –

Problemi correlati