Есть сайт с высоким посещением, большим количеством материалов ну и т.д. 99,9% анонимные пользователи. Есть возможность логинится, но народу лень, все работает и так.
Пришлось как-то спасать сервак, потому как нагрузку он не выдерживал, то падал, то свопил, опять падал. Поставили boost. В принципе все настройки из документации, но что-то приходится периодически "пинать", и естественно "методом тыка". Т.к. настроек туева хуча, сделал скрин, выкладываю для обсуждения. Думаю если будут дельные советы и умные мысли, никто от этого не пострадает)))
PS Понятно, что boost работает не просто так, в воздухе, а в окружении... перед апачем стоит nginx, правда пока без кеширования(в режиме реверсного проксирования)... ну и если есть существенные вопросы по конфигурации, впишу позже.
Сама простыня boost:
Вложение | Размер |
---|---|
![]() | 444.76 КБ |
Комментарии
что сказать то хотели?
10 минут - мало
крон только и будет заниматься тем, что очищать протухшие страницы
а кравлер устанет их пересоздавать
если страниц много, а меню на них разухабистое, кеш меню разбухнет очень быстро и тупняк будет
я как раз думаю, что с этим можно сделать на моём текущем проекте
может даже придётся вывести его через свой блок, закешировать его вручную намертво, а активные ссылки подсвечивать самому
думается так же, что на контентно-новостном сайте кравлер не нужен
так как кешировать он будет и старые страницы, в то время как пользователи в основном ходят на одни и те же и новые
а в интернет магазине наоборот нужен, потому что потенциально пользователи посещают все страницы вне зависимости от каких-либо погод на марсе, а устаревшие никому не нужные товары удаляются
а сами страницы имеют свойство обновляться в зависимости от курса валют
Сказать? Больше хотелось послушать))
10 мало? да, думал ставить 5, но поставил 10, т.к. 30 сильно тормозит появление нового контента, получается как слайд-шоу
у краулера кажись есть такая настройка? Do not flush expired content on cron run, instead recrawl and overwrite it. почему ее не использовать? тогда не устанет пересоздавать?
меню простенькое, тупняк не замечал, но на заметку возьмем
так таки и не нужен? именно новостной сайт. Попробую проверить без него и с ним.
это если вместе с кравлером, а так можно и 10
представьте систему, которая постоянно создаёт и очищает кеш
это увеличение нагрузки, а вы хотели её уменьшить
вроде буст может очищать кеши при изменении контента и содержимого блоков
к чему кешировать страницы 2х летней давности?
при пиках посещаемости аноним получит страницу сгенерированную для предыдущего анонима, а то и для поискового бота
обычно пики приходятся только на некоторые страницы, чаще всего новые, а не на весь сайт в целом
плюс надо умело соединять кеширование остального
+1. Краулер лучше выключить.
Угу, умеет, за это отвечают галочки типа "Clear the front page cache when promoted", "Clear all cached pages referenced via CCK...", "Clear all cached term pages..." и другие из блока настроек "Boost cache expiration/flush settings".
darkdim, а о какой посещаемости идет речь?
выключил краулер, посмотрю нагрузку без него. Правда мне кажется снижение нагрузки достигается настройками.
что под этим имеется ввиду?
посещаемость может относительно и небольшая, 10-15 тыс. посетителей в сутки, но есть неравномерные всплески, т.е в течении короткого времени(скажем 10 мин.) может быть 4-5 тыс. и выше
если у вас есть php блоки, кешируйте их
если есть блоки views включайте кеширование и там
я прикрепление и запуск всей социальщины вытащил в js файл
вроде мелочь, но это лишний траффик
пхп блоки есть, но общее кеширование блоков выключено, из-за багов при включении. Во вьювсах и pages кеши включены, тоже по мере правильного отображения. Социальщиной пока отдельно не занимался
дело в том, что на внутренних страницах есть "лента новостей", что она покажет на странице 2-летней давности? или такие страницы будет генерить при посещении, а тогда точно ли нагрузка снизится а не вырастет? Есть сомнения. Может лучше при включенном краулере и выключенной настройке Do not flush expired content on cron run, instead recrawl and overwrite it. ???
что и без буста, новые новости
кравлер придуман с целью единоразово закешировать всё на максимальное время
если это невозможно, если материалов много и/или они устаревают достаточно быстро, то кравлер - только лишняя нагрузка
изучите кеш апи, там ничего сложного
не надо генерить этот блок каждый раз, он может быть идентичен тому, что система выдала другому пользователю в предыдущий раз
Crawler отключайте, попробуйте без него. Жуткая вещь на самом деле.
да, уже пару часов как отключил, наблюдаю за полетом...
это понятно, и дело не в том, изучите или нет, у мну есть блок, в котором вообще статические баннеры, но из-за флеша, пришлось ставить пхп фильтр, потому что full html режет флеш, а что именно добавить в фильтре пока не было времени разобрать.
И второй момент, при установленном boost рекомендуют отключать кеширование на странице быстродействие, а про кеш блоков ничего не сказано. Но если его включить, глючит, скажем блок голосования, может кинуть на любую страницу или дать страницу зарегистрированного юзера. Больше как через API я настроек кеширования блока не нашел. А что делать в случае создания блока через админку?
не, я не о том
в php блоках можно делать выборки и сложные запросы к базам данных
и это стоит кешировать
а если вы используете php в качестве raw, то разницы никакой
в общем случае лучше включать
странный глюк
cache_get и cache_set вам в помощь, не тривиально конечно, но ничего сверх сложного нет
этот переключатель сейчас, к слову, в неактивном состоянии. Его нельзя переключить
странный, но тем не менее я встречал описание в issues на drupal.org
да, для более сложных вещей - кастомные блоки, но супернавороченных запросов стараюсь не совать