Tempo di risposta lungo per Mage_Core_Model_Session_Abstract_Varien :: start


15

Quindi ho notato in New Relic su molti dei nostri siti, molti dei nostri lunghi caricamenti di pagine stanno avvenendo a causa di Mage_Core_Model_Session_Abstract_Varien :: start. Ho fatto qualche ricerca e non ho visto nessuno parlare di questo.

Usiamo Nginx, PHP FPM, Redis per la memorizzazione nella cache e Memcache per le sessioni. Alcune delle mie idee sono che forse è qualcos'altro che sta impiegando un'eternità e sembra solo che il problema sia il caricamento della sessione. O in qualche modo c'è un codice personalizzato che aggiunge molti dati alla sessione causando enormi sessioni.

Non sono così ben informato in termini di sessioni e di come sono gestiti, tuttavia ho trovato alcuni articoli che parlano del blocco delle sessioni. Tuttavia, non penso che le persone avrebbero aperto così tante pagine contemporaneamente.

Alcuni di questi carichi durano circa 20-30 secondi. Sono solo curioso di sapere se qualcun altro l'ha notato o ha avuto maggiori conoscenze su come analizzare questo tipo di lunghe richieste dovute alle sessioni.


1
Ho notato lo stesso comportamento con Redis utilizzato come archivio di sessione. Nessun indizio sul perché accada neanche.

2
Sei stato in grado di rintracciare la causa di questo ancora? Ho una configurazione molto simile (Redis per cache, memcached per sessioni) e recentemente abbiamo iniziato a utilizzare New Relic per tenere traccia delle prestazioni. Stiamo rilevando tracce di oltre 20 secondi che sembrano essere causate da qualcosa in MCMSAV :: inizia come stavi vedendo. Sfortunatamente non riesco a vedere più a fondo, una descrizione comandi dice "La visibilità più profonda non è disponibile perché queste classi e metodi non sono strumentati con la configurazione corrente dell'agente PHP". Devo ancora indagare ulteriormente. Qualche idea?
BrianVPS,

1
@BrianVPS Non ho mai trovato nulla. Per me rimane un mistero e non mi è mai stato concesso più tempo per rintracciarlo. Lo vedo ancora in ogni progetto. Hai mai trovato qualcosa?
dan.codes

1
Non so se abbiamo trovato alcuna causa, ma non l'ho visto di recente. Abbiamo apportato modifiche significative al sito e ridotto molto grasso. Ho disabilitato alcuni moduli core non utilizzati, cancellato un sacco di attributi, categorie e prodotti non utilizzati. Da allora le cose sono migliorate su tutti i fronti. Non so se qualcosa fosse correlato, ma in generale, sbarazzarsi di cose inutili sembra aiutare Magento in modo significativo. È un sistema potente ma gonfio con molto codice che molti siti non hanno bisogno. Sbarazzarsi dell'eccesso è molto utile.
BrianVPS,

@BrianVPS Ho esattamente lo stesso problema che hai avuto (tracce di oltre 20 secondi che sembrano essere causate da qualcosa in MCMSAV :: start). Hai trovato una soluzione?
Denis Spalenza,

Risposte:


7

Ciò è probabilmente legato a un fenomeno riguardante le sessioni del filesystem. Nonostante ciò che stai segnalando usando Mecached per le sessioni, l'ho mai visto da solo mentre in realtà stavo usando il filesystem.

Questo è stato trattato prima qui:

/magento//a/3721/336

In effetti uno screenshot di un cachegrind rivela il punto esatto in cui l'avvio della sessione impiega una quantità eccessiva di tempo, Mage_Core_Model_Session_Abstract_Varien::startcome hai correttamente sottolineato:

inserisci qui la descrizione dell'immagine

Nel thread di riferimento c'era il suggerimento che questo effetto potesse essere ridotto con un archivio di sessioni in memoria - ma non esistono dati concreti che io conosca per supportare la teoria. Se stai effettivamente utilizzando memcached, è logico che il blocco della sessione a livello di PHP impedirebbe che vengano concesse richieste future all'archivio della sessione fino al rilascio del blocco.

In generale, questo è di solito visibile solo su richieste che richiedono l'accesso alle informazioni sulla sessione, quindi l'architettura del tema del frontend sarà utile per limitare la quantità di accesso necessaria per evitare potenziali blocchi quando un utente ha un'altra scheda o un'altra richiesta di lunga durata in corso quando decide andare via.

HTH, Salute.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.