Кэш форума torrentpier

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Далее по плану была установка APC. Установка была произведена быстро, используя репозиторий дополнений PECL. Установка прошла успешно, без сучка и задоринки. В движке torrentpier есть встроенный механизм работы с хранилищем APC, его и решил использовать, но после настройки — поползла куча нотисов.

Огорченный начал колупать, мои исследования привели к тому что если объект по какой-либо причине не был сохранён — просто выдавалась пустая переменная. Этот досадный момент был устранён путём допиливания проверки «а не пустая ли переменная», и в случае если она пуста — объект в кэше создавался и возвращался ещё раз.

После проверки работы на форуме который в данный момент на этапе создания — решили интегрировать в основу.

Но тут нас ждала ещё одна неприятность, кэши переплетались между собой, Announce URL выдавалась на обеих форумах от того на котором отвязанный крон выполнялся первее, статистика перестала считаться, пользователи онлайн перестали работать, в общем форум можно сказать упал на колени.

В ходе исследований было выяснено что кэши переплетаются так как имена ключей разных форумов совпадают.

Лезть и менять все ключи мне не хотелось, поэтому было решено чуть чуть допилить класс общения с кэшем, к имени ключа был добавлен префикс, для каждого форума свой, но и чтобы при переносе форума не было необходимости лезть и менять ключи — в роли ключа выступает опция файла конфигурации site_name, содержащая имя домена форума.

Сейчас форум прекрасно работает, мы получили неимоверную производительность использовав данные улучшения, в виде бонуса — сделал отдачу статики через nginx, так как ради неё дёргать тяжеловеса apache не очень правильно.