Проблема с memcahed

Доброго времени суток.
Прошу помощи.
После перехода с файлового кеша на memcahed, на сайте стала появляться ошибка:
Notice: unserialize(): Error at offset 0 of 32 bytes in /путь/к корневой директории/сайта/engine/lib/external/DklabCache/Cache/Backend/TagEmuWrapper.php on line 133

Проявляется она на не закешированнх страницах, если страницу обновить 2-3 раза то пропадает, если использовать кеширование в файле, то ошибка не наблюдается.
Пробовал фиксы которые есть в сети, но они все 2х летней давности и с ними сайт вообще валится полностью.
Пока откатился на файловый кеш, но его скорость, уже не радует.

Full Cache. Простое Frontend кеширование без Nginx

Цель. Снизить нагрузку при большом потоке незарегистрированных пользователей.
Причины нагрузки.
1) Даже при включении бэкенд кеша любого вида(memcache, file, xcache) движок все же ест память, так как структуру данных он выстраивает в любом случае. При большом количестве плагинов растет количество классов и экземпляров этих классов, которые загружаются в память. В данном случае использование бэкенд кеша увеличивает скорость работы за счет кеширования результатов запросов в базу данных. Но размер потребляемой памяти остается тот же. Например, у меня страница топика ела 19 Мб, а список — 30мБ. При этом частично помогает, например, использование ссылок на объекты с помощью & при переборе, а не их копий. Но все же это крошки.
2) Даже при полном кеше БД все же выполняются несколько запросов, таких как получение данных о сессии или update таблицы просмотров. Под нагрузкой и при использовании InnoDb базы «update запрос» может очень сильно тормозить.
Ресурсы и методы
Собственно смысл прост. Он состоит в том, чтобы один раз генерировать страницу, а потом отдавать ее сразу.
Проверять на существование и отдавать кеш надо будет перед запуском движка, что разгрузит потребляемую память.

Читать дальше →

Не удаляются файлы cache и compiled на masterhost

Собственно вопрос в титле. Поговорил с консультантом — он сказал, что проблема в том, что эти файлы в папках были созданы скриптом и предложил какой-то замороченное средство решения проблемы (создания пхп скрипта который бы это удалял). Права на файлах 700 не дает изменить. Помогите решить проблемы

Как заставить закешированный CSS-файл переименоваться?

Допускаю, что вопрос тупой, но ответа пока мне никто не дал.

Всё знают, что в ЛС, независимо от шаблона и количества плагинов, генерируется некий собирательный CSS-файл, который потом и подключается к каждой странице:
<link rel='stylesheet' type='text/css' href='http://www.site.ru/templates/cache/new/5e30fbee88c09e7e63ef7d3833309448.css' />

Если кратко, то задача сделать так, чтобы этот файл поменял название и стало что-то вроде:
<link rel='stylesheet' type='text/css' href='http://www.site.ru/templates/cache/new/38335e30fbee3094488c09e7e63ef7d8.css' />

Но сколько я ни очищал кэш, этот файл перегенерируется с тем же именем. А Chrome, например, как закеширует однажды CSS, так и потом всё время его использует. Обновишь страницу — он вроде показывает новую версию, но проходит пять минут — и опять всё по-старому. Нужно, чтобы имя CSS-файла поменялось (альтернативный вариант — добавить что-то вроде ?v=2 после названия файла, но как это сделать?).

Вопрос: как мне переименовать закешированный CSS, чтобы все браузеры поняли, что файл изменился?

UPD: Кое-что есть здесь, но это не решает проблему (файл пересоздаётся с прежним именем).

APC Backend Cache

Всем доброго времени суток!
Хочу поделиться с вами небольшим файликом, который даст возможность использовать DklabCache с APC хранилищем.

Каждый для себя решает сам: нужно это ему или нет.
Чтобы далеко по поисковикам не лазить, вот небольшие мои тесты:
10000 итераций по 1 байту
10000 итераций по 1 байту
Этот тест нельзя назвать по поведению близкому к веб, если у вас не хайлоад проект.

10000 итераций по 32 байта
10000 итераций по 32 байта

Читать дальше →

Проблема с serialize и __sleep

Как всем наверное известно в РНР5 перед сериализацией объекта вызывается __sleep.
В исходном коде движка ни одного слипа я не нашел. Но, что происходит внутри — удивляемся:
Дело в кеше доходит до сериализации и вызывается __sleep, функции, которой в ни в одном классе нет.
После этого делается TopicEntity_Topic->__call('__sleep', Array) — видимо где-то стоит какой-то хук на вызов неизвестных функций. И пошло-поехало —

	/**
	 * Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля
	 */
	public function __call($sName,$aArgs) {
		return $this->oEngine->_CallModule($sName,$aArgs);
	}

Модуль не находится, лезут ошибки, эксепшены и т.п.
Вопрос — как на PHP5 нормально настроить кеширование? Как убрать все эти псевдо-нужные хуки (а они видимо здорово по коду раскиданы)?

Ниже собственно трасер ошибки:

<b>Fatal error</b>:  Uncaught exception 'Exception' with message 'Не найден класс модуля - ' in /var/www/web674/web/classes/engine/Engine.class.php:97
Stack trace:
#0 /var/www/web674/web/classes/engine/Engine.class.php(97): Engine::LoadModule()
#1 /var/www/web674/web/classes/engine/Engine.class.php(185): Engine->LoadModule('', true)
#2 /var/www/web674/web/classes/engine/Entity.class.php(61): Engine->_CallModule('__sleep', Array)
#3 /var/www/web674/web/classes/modules/sys_cache/Cache.class.php(129): TopicEntity_Topic->__call('__sleep', Array)
#4 /var/www/web674/web/classes/modules/sys_cache/Cache.class.php(129): TopicEntity_Topic->__sleep()
#5 /var/www/web674/web/classes/modules/sys_cache/Cache.class.php(129): serialize(Array)
#6 /var/www/web674/web/classes/engine/Engine.class.php(189) : eval()'d code(1): LsCache->Set(Array, 'topic_filter_a:...', Array, 300)
#7 /var/www/web674/web/classes/engine/Engine.class.php(189): eval()
#8 /var/www/web674/web/classes/engine/Module.class.php(37): Engine->_CallModule('Cache_S in <b>/var/www/web674/web/classes/engine/Engine.class.php</b> on line <b>97</b><br />

Cache и другая оптимизация!

Привет, чем отличается memcache от file cache?
Хочу как то оптимизировать ЛС, использовать кэш.

И еще, как можно включить gzip сжатие для страниц сайта?

Какие виды оптимизации вы знаете и как их можно применить?

Проблема с Cache или путешествия по хостингам (sweb.ru)

Приветствую

Я уже писал про проблему с кэшем. Меня посылали на похожие темы, которые уже обсуждались, но все эти ответы так и не помогли решить проблему.

На некоторое время меня это перестало беспокоить, так как я просто сменил хостинг (где-то я про это тоже отписывался). На том хостинге проблем с кэшем не возникло, но было множество других (не касающихся движка).

И я вернулся обратно на sweb, так как мытляться от хостера к хостеру не хочется. Вернулась и не решенная проблема с cache.

Так вот, может тут кто-то есть, кто хостится на swebe, можете помочь с проблемой подключения кэша?

И вопрос номер два: в следующей версии движка есть какие-то изменения в этом вопросе? Может не стоит беспокоиться, а просто подождать следующую версию?

РЕШЕНИЕ ПРОБЛЕМЫ
Спасибо, bandit'у за подробно расписанное пособие по решению проблемы cache на хостинге sweb.ru. Выношу в пост, чтобы было легче найти.
Читать дальше →

Ещё косяк

Имеецо два проекта на лив стрит, в лисе модули в кеше сохраняюцо… захажу на первый проект на главную, делаю там чегонить, потом иду на второй и что я вижу? модули с тегами прямим эфиром и блогами от первого проекта, главная часть от того которого надо…
Я чтото недоглядел в настройках двигла? им гдето имена куков разные поставить надо?
Вобще придурел немного…

Радикальное решение

Не претендую на оригинальность своего текста, однако, мало ли, вдруг кто-то потом озадачится и сможет найти ответ на мучающий вопрос здесь.
Пытался ставить движок на хостинг от мастерхоста — проблемы проявились с известной и описывавшейся проблемой с кэшем.
Решить не получилось, на другом хостинге все заработало сразу.
Выводы делайте сами. Я сделал)