Так что я заметил в New Relic на многих наших сайтах, много наших длинных загрузок страниц происходит из-за Mage_Core_Model_Session_Abstract_Varien :: start. Я провел некоторое исследование и не видел, чтобы кто-то еще говорил об этом.
Мы используем Nginx, PHP FPM, Redis для кэширования и Memcache для сессий. Некоторые из моих идей заключаются в том, что, возможно, это что-то еще, что требует вечности, и просто кажется, что загрузка сеанса является проблемой. Или каким-то образом есть некоторый пользовательский код, добавляющий много данных в сеанс, вызывающий огромные сеансы.
Я не настолько хорошо осведомлен о сессиях и о том, как они управляются, однако я нашел несколько статей, рассказывающих о блокировке сессий. Однако я не думаю, что люди будут открывать столько страниц одновременно.
Некоторые из этих нагрузок составляют от 20 до 30 секунд. Мне просто любопытно, заметил ли кто-то еще это или имел больше знаний о том, как анализировать эти типы длинных запросов из-за сеансов.
источник
Ответы:
Скорее всего, это связано с явлением, связанным с сеансами файловой системы. Несмотря на то, что вы сообщаете об использовании Mecached для сессий, я сам видел это только тогда, когда фактически использовал файловую систему.
Это было рассмотрено ранее здесь:
/magento//a/3721/336
На самом деле скриншот cachegrind показывает точную точку, в которой запуск сеанса занимает слишком много времени,
Mage_Core_Model_Session_Abstract_Varien::start
как вы правильно указали:В упомянутом потоке было высказано предположение, что этот эффект может быть уменьшен с помощью хранилища сеансов в памяти, но нет конкретных данных, о которых я знаю, чтобы поддержать теорию. Если вы на самом деле используете memcached, то понятно, что блокировка сеанса на уровне PHP будет препятствовать выполнению будущих запросов к хранилищу сеансов до снятия блокировки.
В целом это обычно наблюдается только для запросов, требующих доступа к информации о сеансе, поэтому при разработке вашей внешней темы будет полезно ограничить объем доступа, необходимый для предотвращения потенциальных блокировок, когда пользователь принимает другую вкладку или другой длительный запрос в процессе выполнения при принятии решения. отойти.
HTH, ура.
источник