Largo tiempo de respuesta para Mage_Core_Model_Session_Abstract_Varien :: start

15

Así que he estado notando en New Relic en muchos de nuestros sitios, muchas de nuestras cargas de páginas largas están sucediendo debido a Mage_Core_Model_Session_Abstract_Varien :: start. He investigado un poco y realmente no he visto a nadie más hablando de esto.

Utilizamos Nginx, PHP FPM, Redis para el almacenamiento en caché y Memcache para las sesiones. Algunas de mis ideas son que tal vez es algo más que está tomando una eternidad y parece que cargar la sesión es el problema. O de alguna manera, hay un código personalizado que agrega muchos datos a la sesión y provoca sesiones enormes.

No estoy tan bien informado en términos de sesiones y cómo se gestionan, sin embargo, encontré algunos artículos que hablan sobre el bloqueo de sesiones. Sin embargo, no creo que la gente abra tantas páginas al mismo tiempo.

Algunas de estas cargas son como 20-30 segundos. Tengo curiosidad por saber si alguien más ha notado esto o si tiene más conocimiento sobre cómo analizar este tipo de solicitudes largas debido a las sesiones.

dan.codes
fuente
1
He notado el mismo comportamiento con Redis utilizado como almacenamiento de sesión. Tampoco hay pistas de por qué sucede.
2
¿Ya has podido localizar la causa de esto? Tengo una configuración muy similar (Redis para caché, memcached para sesiones) y recientemente comenzamos a usar New Relic para rastrear el rendimiento. Estamos detectando algunos rastros de más de 20 segundos que parecen ser causados ​​por algo en MCMSAV :: comience como lo estaba viendo. Desafortunadamente, no puedo verlo más a fondo, una información sobre herramientas dice que "una visibilidad más profunda no está disponible porque estas clases y métodos no están instrumentados con la configuración actual del agente PHP". Todavía tengo que investigar más. ¿Algunas ideas?
BrianVPS
1
@BrianVPS Nunca encontré nada. Para mí sigue siendo un misterio y nunca se me dio más tiempo para localizarlo. Todavía lo veo en todos los proyectos. ¿Alguna vez encontraste algo?
dan.codes
1
No sé si encontramos alguna causa, pero no he visto esto recientemente. Hemos realizado cambios significativos en el sitio y recortado mucha grasa. Deshabilité algunos módulos principales no utilizados, eliminé una tonelada de atributos, categorías y productos no utilizados. Desde entonces, las cosas han mejorado en todos los frentes. No sé si algo de eso estaba relacionado, pero en general, deshacerse de cosas innecesarias parece ayudar significativamente a Magento. Es un sistema potente pero hinchado con mucho código que muchos sitios no necesitan. Deshacerse del exceso es muy útil.
BrianVPS
@BrianVPS Tengo exactamente el mismo problema que tuviste (rastreos de más de 20 segundos que parecen ser causados ​​por algo en MCMSAV :: start). ¿Encontraste alguna solución?
Denis Spalenza

Respuestas:

7

Esto probablemente está relacionado con un fenómeno relacionado con las sesiones del sistema de archivos. A pesar de lo que está informando mediante el uso de Mecached para sesiones, solo he visto esto yo mismo cuando, de hecho, estaba usando el sistema de archivos.

Esto se ha cubierto antes aquí:

/magento//a/3721/336

De hecho, una captura de pantalla de una memoria caché revela el punto exacto en el que el inicio de la sesión está tomando una cantidad excesiva de tiempo, Mage_Core_Model_Session_Abstract_Varien::startcomo usted señaló correctamente:

ingrese la descripción de la imagen aquí

En el hilo al que se hace referencia, se sugirió que este efecto podría reducirse con un almacenamiento de sesión en memoria, pero no existen datos concretos que conozca que respalden la teoría. Si de hecho está usando memcached, entonces es lógico que el bloqueo de sesión a nivel de PHP impida que se otorguen futuras solicitudes al almacenamiento de la sesión hasta que se libere el bloqueo.

En general, esto solo se ve en las solicitudes que requieren acceso a la información de la sesión, por lo que diseñar su tema frontend será beneficioso para limitar la cantidad de acceso necesario para evitar posibles bloqueos cuando un usuario tiene otra pestaña u otra solicitud de larga duración en curso al decidir trasladarse.

HTH, salud.

philwinkle
fuente