Проблема с memcahed
Доброго времени суток.
Прошу помощи.
После перехода с файлового кеша на memcahed, на сайте стала появляться ошибка:
Проявляется она на не закешированнх страницах, если страницу обновить 2-3 раза то пропадает, если использовать кеширование в файле, то ошибка не наблюдается.
Пробовал фиксы которые есть в сети, но они все 2х летней давности и с ними сайт вообще валится полностью.
Пока откатился на файловый кеш, но его скорость, уже не радует.
Прошу помощи.
После перехода с файлового кеша на 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
22
Цель. Снизить нагрузку при большом потоке незарегистрированных пользователей.
Причины нагрузки.
1) Даже при включении бэкенд кеша любого вида(memcache, file, xcache) движок все же ест память, так как структуру данных он выстраивает в любом случае. При большом количестве плагинов растет количество классов и экземпляров этих классов, которые загружаются в память. В данном случае использование бэкенд кеша увеличивает скорость работы за счет кеширования результатов запросов в базу данных. Но размер потребляемой памяти остается тот же. Например, у меня страница топика ела 19 Мб, а список — 30мБ. При этом частично помогает, например, использование ссылок на объекты с помощью & при переборе, а не их копий. Но все же это крошки.
2) Даже при полном кеше БД все же выполняются несколько запросов, таких как получение данных о сессии или update таблицы просмотров. Под нагрузкой и при использовании InnoDb базы «update запрос» может очень сильно тормозить.
Ресурсы и методы
Собственно смысл прост. Он состоит в том, чтобы один раз генерировать страницу, а потом отдавать ее сразу.
Проверять на существование и отдавать кеш надо будет перед запуском движка, что разгрузит потребляемую память.
Читать дальше
Причины нагрузки.
1) Даже при включении бэкенд кеша любого вида(memcache, file, xcache) движок все же ест память, так как структуру данных он выстраивает в любом случае. При большом количестве плагинов растет количество классов и экземпляров этих классов, которые загружаются в память. В данном случае использование бэкенд кеша увеличивает скорость работы за счет кеширования результатов запросов в базу данных. Но размер потребляемой памяти остается тот же. Например, у меня страница топика ела 19 Мб, а список — 30мБ. При этом частично помогает, например, использование ссылок на объекты с помощью & при переборе, а не их копий. Но все же это крошки.
2) Даже при полном кеше БД все же выполняются несколько запросов, таких как получение данных о сессии или update таблицы просмотров. Под нагрузкой и при использовании InnoDb базы «update запрос» может очень сильно тормозить.
Ресурсы и методы
Собственно смысл прост. Он состоит в том, чтобы один раз генерировать страницу, а потом отдавать ее сразу.
Проверять на существование и отдавать кеш надо будет перед запуском движка, что разгрузит потребляемую память.
Читать дальше
Шаблон Simple - решение проблемы "замена логотипа"
3
Здравствуйте. На днях решил сделать проект, долго думал на каком движке делать, и решился! Опять вернусь на LiveStreet (благодарю разработчиков и тех, кто трудился над этим проектом). Очень понравилась тема Simple, но при установлении появилась проблема. Как поменять логотип? Зашел на описание шаблона, там многие спрашивают и не могут решиться. В одной теме нашел такое:
Меняю, не получается. В теме заметил, что у многих и не получается. Те кто спрашивают, получают минусы… На следующий день проснулся и сел решить эту проблему. В Google Chrome, открывая Google DevTOols, каким то чудом нажал «Открыть в новом окне .css файл». А тут чудо! Смотрю на URL: имясайта.com/templates/cache/simple/3308800e012584b43331f559ad6a767f.css
Как заметили, LiveSteet берет данные через cache папку, а не сразу templates/simple/css/grid.css
Когда меняете в файле grid.css, также откройте в новом окне URL вашего нынешнего css, там тоже поменяйте, чтобы не было проблемно. Кстати, в cache css постарался поставить такой переход (../images/logo.png) не получается, пришлось прописать имясайта.../images/logo.png
Так что родные, надеюсь вы попадете на эту тему, и не будете заморачиваться заменой логотипа с текста на рисунок. Я сам не программист, а просто блоггер и веб-журналист. Вот решил поделиться неким опытом. Главное чтоб не минусовали :)
С уважением, Фархад Алекперов.
1. Из header_top.tpl удалить текст связанный с логотипом, чтобы осталась ссылка такого вида:
<a href="{cfg name='path.root.web'}" class="logo"></a>
2. В файле css/grid.css потребуется строка 48.
3. Чтобы вставить картинку, нужно будет привести стили к такому виду:
background:url(../images/названиекартинки) no-repeat; float:left; width:165px; height:119px; display:block; text-decoration: noneМеняю, не получается. В теме заметил, что у многих и не получается. Те кто спрашивают, получают минусы… На следующий день проснулся и сел решить эту проблему. В Google Chrome, открывая Google DevTOols, каким то чудом нажал «Открыть в новом окне .css файл». А тут чудо! Смотрю на URL: имясайта.com/templates/cache/simple/3308800e012584b43331f559ad6a767f.css
Как заметили, LiveSteet берет данные через cache папку, а не сразу templates/simple/css/grid.css
Когда меняете в файле grid.css, также откройте в новом окне URL вашего нынешнего css, там тоже поменяйте, чтобы не было проблемно. Кстати, в cache css постарался поставить такой переход (../images/logo.png) не получается, пришлось прописать имясайта.../images/logo.png
Так что родные, надеюсь вы попадете на эту тему, и не будете заморачиваться заменой логотипа с текста на рисунок. Я сам не программист, а просто блоггер и веб-журналист. Вот решил поделиться неким опытом. Главное чтоб не минусовали :)
С уважением, Фархад Алекперов.
Не удаляются файлы cache и compiled на masterhost
Собственно вопрос в титле. Поговорил с консультантом — он сказал, что проблема в том, что эти файлы в папках были созданы скриптом и предложил какой-то замороченное средство решения проблемы (создания пхп скрипта который бы это удалял). Права на файлах 700 не дает изменить. Помогите решить проблемы
Как заставить закешированный CSS-файл переименоваться?
1
Допускаю, что вопрос тупой, но ответа пока мне никто не дал.
Всё знают, что в ЛС, независимо от шаблона и количества плагинов, генерируется некий собирательный CSS-файл, который потом и подключается к каждой странице:
Если кратко, то задача сделать так, чтобы этот файл поменял название и стало что-то вроде:
Но сколько я ни очищал кэш, этот файл перегенерируется с тем же именем. А Chrome, например, как закеширует однажды CSS, так и потом всё время его использует. Обновишь страницу — он вроде показывает новую версию, но проходит пять минут — и опять всё по-старому. Нужно, чтобы имя CSS-файла поменялось (альтернативный вариант — добавить что-то вроде ?v=2 после названия файла, но как это сделать?).
Вопрос: как мне переименовать закешированный CSS, чтобы все браузеры поняли, что файл изменился?
UPD: Кое-что есть здесь, но это не решает проблему (файл пересоздаётся с прежним именем).
Всё знают, что в ЛС, независимо от шаблона и количества плагинов, генерируется некий собирательный 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: Кое-что есть здесь, но это не решает проблему (файл пересоздаётся с прежним именем).
- -1
- 07 февраля 2011, 20:15
- TonyClifton
- 9
APC Backend Cache
5
Всем доброго времени суток!
Хочу поделиться с вами небольшим файликом, который даст возможность использовать DklabCache с APC хранилищем.
Каждый для себя решает сам: нужно это ему или нет.
Чтобы далеко по поисковикам не лазить, вот небольшие мои тесты:
10000 итераций по 1 байту

Этот тест нельзя назвать по поведению близкому к веб, если у вас не хайлоад проект.
10000 итераций по 32 байта

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

Этот тест нельзя назвать по поведению близкому к веб, если у вас не хайлоад проект.
10000 итераций по 32 байта

Читать дальше
Проблема с serialize и __sleep
1
Как всем наверное известно в РНР5 перед сериализацией объекта вызывается __sleep.
В исходном коде движка ни одного слипа я не нашел. Но, что происходит внутри — удивляемся:
Дело в кеше доходит до сериализации и вызывается __sleep, функции, которой в ни в одном классе нет.
После этого делается TopicEntity_Topic->__call('__sleep', Array) — видимо где-то стоит какой-то хук на вызов неизвестных функций. И пошло-поехало —
Модуль не находится, лезут ошибки, эксепшены и т.п.
Вопрос — как на PHP5 нормально настроить кеширование? Как убрать все эти псевдо-нужные хуки (а они видимо здорово по коду раскиданы)?
Ниже собственно трасер ошибки:
В исходном коде движка ни одного слипа я не нашел. Но, что происходит внутри — удивляемся:
Дело в кеше доходит до сериализации и вызывается __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 />
- 0
- 25 июля 2009, 09:38
- skpropovednik
- 16
Cache и другая оптимизация!
3
Привет, чем отличается memcache от file cache?
Хочу как то оптимизировать ЛС, использовать кэш.
И еще, как можно включить gzip сжатие для страниц сайта?
Какие виды оптимизации вы знаете и как их можно применить?
Хочу как то оптимизировать ЛС, использовать кэш.
И еще, как можно включить gzip сжатие для страниц сайта?
Какие виды оптимизации вы знаете и как их можно применить?
Проблема с Cache или путешествия по хостингам (sweb.ru)
18
Приветствую
Я уже писал про проблему с кэшем. Меня посылали на похожие темы, которые уже обсуждались, но все эти ответы так и не помогли решить проблему.
На некоторое время меня это перестало беспокоить, так как я просто сменил хостинг (где-то я про это тоже отписывался). На том хостинге проблем с кэшем не возникло, но было множество других (не касающихся движка).
И я вернулся обратно на sweb, так как мытляться от хостера к хостеру не хочется. Вернулась и не решенная проблема с cache.
Так вот, может тут кто-то есть, кто хостится на swebe, можете помочь с проблемой подключения кэша?
И вопрос номер два: в следующей версии движка есть какие-то изменения в этом вопросе? Может не стоит беспокоиться, а просто подождать следующую версию?
РЕШЕНИЕ ПРОБЛЕМЫ
Спасибо, 'у за подробно расписанное пособие по решению проблемы cache на хостинге sweb.ru. Выношу в пост, чтобы было легче найти.
Читать дальше
Я уже писал про проблему с кэшем. Меня посылали на похожие темы, которые уже обсуждались, но все эти ответы так и не помогли решить проблему.
На некоторое время меня это перестало беспокоить, так как я просто сменил хостинг (где-то я про это тоже отписывался). На том хостинге проблем с кэшем не возникло, но было множество других (не касающихся движка).
И я вернулся обратно на sweb, так как мытляться от хостера к хостеру не хочется. Вернулась и не решенная проблема с cache.
Так вот, может тут кто-то есть, кто хостится на swebe, можете помочь с проблемой подключения кэша?
И вопрос номер два: в следующей версии движка есть какие-то изменения в этом вопросе? Может не стоит беспокоиться, а просто подождать следующую версию?
РЕШЕНИЕ ПРОБЛЕМЫ
Спасибо, 'у за подробно расписанное пособие по решению проблемы cache на хостинге sweb.ru. Выношу в пост, чтобы было легче найти.
Читать дальше
- +3
- 19 января 2009, 13:32
- vinbenzzzin
- 55
Ещё косяк
Имеецо два проекта на лив стрит, в лисе модули в кеше сохраняюцо… захажу на первый проект на главную, делаю там чегонить, потом иду на второй и что я вижу? модули с тегами прямим эфиром и блогами от первого проекта, главная часть от того которого надо…
Я чтото недоглядел в настройках двигла? им гдето имена куков разные поставить надо?
Вобще придурел немного…
Я чтото недоглядел в настройках двигла? им гдето имена куков разные поставить надо?
Вобще придурел немного…