Ускоряем работу InstantCMS
Совсем недавно познакомился с InstantCMS, очень понравилось, считаю, что на сегодняшний момент альтернатив данной cms попросту нет. Ну, а все его возможности, грамотно переплетенные просто поражают.
Теперь к делу.
В каждом модуле InstantCMS есть меню "Кэширование", его включение значительно ускоряет работу сайта. Вот только не всё кэширование одинаково полезно, хотя несомненно оно нужно всем, а принимая во внимание постоянное развитие cms, нужно разработать элементарные рекомендации по настройке.
Так например, очень плохо кэшировать "меню пользователя" и "авторизацию", первое не пропадает, а второе не исчезает. Модулю случайной картинки стоит установить время жизни 1-5 минут.
Есть ли какие-нибудь рекомендованные настройки по отдельным модулям "от разработчиков"? Каким модулям стоит включать кэш, каким это просто необходимо, а каким необязательно.
Возможно кто-то ещё выскажет свои личные наблюдения.
--------------------------------
UPD
В первом посте буду добавлять наблюдения:
Итак, рассматриваем классическое комьюнити, типа городского или регионального портала, сообщества какого-либо направления
Кэширование должно быть ВЫКЛЮЧЕНО в следующих модулях
— Авторизация
— Голосование
— Горизонтальное меню (если оно у вас есть)
— Добро пожаловать (информация берется из тела модуля)
— Меню
— Меню пользователя
— Часы (информация берется из тела модуля)
Кэширование 1 час можно спокойно включать для модулей
— Последние материалы (если у вас новости выходят чаще, то можно меньше, а если реже, то больше)
— Статьи (тоже самое, что и посл. материалы)
— Архив новостей (думаю можно и 1 сутки поставить)
— Новинки фотогалереи (если фотографий у вас немного и добавляются не каждый день)
— Новые клубы
— Новые пользователи
— Рейтинг пользователей
Если кто-то из пользователей спросит, мол почему я создал клуб или мой рейтинг выше чем в личном кабинете, то можно им и озвучить, что обновление происходит 1 раз в час, это нормальное явление для больших сайтов.
Кэширование 10 минут (на мой взгляд это ни много и ни мало)
— Доска почета
— Категории прайса
— Кто онлайн
— Новинки каталога
— Новое в блогах
— Новости форума
— Новые объявления
— Облако тегов
— Популярное в блогах
— Популярное в каталоге
— Популярные клубы
— Популярные статьи
— Популярные фотографии
— Последние вопросы FAQ
— Последние комментарии
— Случайная картинка (можно уменьшить и до 1 мимнуты)
— Случайное в каталоге
— Случайное фото
— Файлы пользователей
Модули, которыми лично я не пользуюсь (просто нет необходимоcnи):
Архив новостей, Выбор шаблона,
Модули, которые я не упомянул:
Внешний файл, Корзина, Лента новостей, Поиск (т.к. неуверен на его счет), Поиск пользователей (т.к. неуверен на его счет),
для всех остальных — интервал подбирается опытным путем, в зависимости от частоты обновлений сайта и количества присутствующих одновременно пользователей
например на этом сайте для модулей форума, блогов и комментариев установлен интервал в 3 минуты, а для новостей — в 1 час (так как новости появляются не так часто, как темы на форуме)
четких инструкций здесь дать нельзя, нужно экспериментировать, все зависит от сайта
— Новый сайт — сайт который только установлен, посетителей нет, на нем работает только админ, настраивает, экспериментирует, приглашает друзей для тестирования. Такому сайту кэширование не нужно, т.к. 2-3 человека нагрузки глобальной не создадут, а вот для экспериментов может даже помешать.
— Сайт в работе — это по сути Новый сайт, но уже отлаженый, наполненный определенным контентом (новости, галерея, объявления, каталог и пр.), посетителей в день 20-50, тут уже стоит включить кэш для новостей, новых пользователей (т.к. их немного), так же можно поставить небольшое кэширование (нсколько минут) на блоки Новых сообщений с форума, доски объявлений, комментариев, калога и прочего.
— Ну и Полный сайт, с посетителями, форумом, живой, работающий, крутящийся. Такой сайт уже нужно более глубоко настраивать, смотреть, пробовать. Но, чтобы этот процесс отнимал меньше времени, нужно собрать воедино (в этом топике например) мнения различных сторон.
Сам я пока что экспериментирую с юзабилити кэша, ищу места где он мешает для повседневного пользователя.
— Добро пожаловать (можно и больше, т.к. это редкоизменяемая информация)
— Часы (используют немногие, но в этом модуле ничего не меняется)
Не имеет смысла включать для них кеширование, это только увеличит количество запросов — инсертов и апдейтов. В этих модулях нет запросов к базе, весь контент берется из тела модуля.
10 минут могут быть и 5 и 2, для начинающих сайтов, но я решил взять среднее по моему мнению значение.
Зачем такое время кеширования?! Вам жалко лишних запросов? для всех ставить по минуте, главное, что запросы идут не постоянно.
Тестировал на рабочем сайте. С целью свода нагрузок к минимуму или даже нулю при высокой нагрузке.
Например для работы на шаред хостинге.
При включении Кэширования на главной странице появляется отступ, типа виджет вывелся.
Как убрать сие недоразумение? ЦСС там не помогает, так как показывает что здесь виджет стоит.
Просто белый отступ от главного меню на главной странице.
готов скинуть ссылку в личку.