Есть физический dedicated сервер, на котором хостится несколько сайтов. Сайты работают по технологии либо PHP 5.2 + MySQL, либо PHP 5.6 + PostgreSQL + MySQL. Сайты размещены на IIS 7.5; Сессии PHP хранятся в memcached. Проблематика заключается в том, что периодически memcached либо падает, либо начинает работать совершенно выборочно. Выборочная работа memcached представляет из себя ошибку в момент вызова метода session_start() вроде "php warning unknown failed to write session data (memcache)", при чем, ошибка может возникать как при каждом обновлении страницы, так и возникать через раз (1 раз удачная попытка стартануть сессию, второй раз нет). Во втором же случае (который происходит значительно реже), возникает ошибка в самом приложении memcached, после чего оно падает с сообщением вида: "Assertation failed! Program: C:UtilsMemcachedmemcached.exe File: assoc.c, Line 145 Expression: assoc_find(ITEM_key(it), it->nkey) == 0". Средняя нагрузка на сайты составляет порядка 3 тыс. человек в сутки. Одновременное количество конкурентных сессий (одновременно работающих с сайтами пользователей онлайн) в максимум составляет порядка 40-50 человек, в среднем же порядка 30 человек. Работа с memcached происходит через настройки хендлера в php.ini, напрямую же в PHP-коде работы с memcached не происходит. Стоит заметить, что ничего нестандартного с сессиями сайты не делают в сессии хранятся буквально 5-6 числовых параметров типа int32 то есть, никаких объектов по 10-20-500Мб в сессию сайты не пишут. Тем не менее, стоит заметить, что как правило, странная работа memcached наблюдается при периодическом переиндексировании сайта поисковыми системами, то есть, при большой линейной нагрузке. Требуется устранить проблему иначе., выяснить причину спонтанных падений memcached.
Опубликован 25.02.2016 в 12:20
Заказ находится в архиве