Как лучше всего реализовать кеширование страниц?

seosniks
На сайте с 13.08.2007
Offline
389
611

Добрый день форумчане.

Имею такой вопросик.

Как лучше всего реализовать кеширование новостей чтоб снизить нагрузку на базу данных?

пробовал разными способами но все не то.

Пробовал каждую статью сохранять в файл но при 10 к страниц выходит нехило файлов :D

Может кто из спецов замолвит слово путное?

Смарти не понравился мне, так как двиг весит 200 кб а смарти в 10 раз больше.

Страница генерируется в шаблон имеющий переменные вида {.......}

В принципе можно кешировать конкретную перменную а не страницу.

В итоге можно будет уменьшить количество запросов в базу данных.

Хотя думаю есть лучшее решение.

psylosss
На сайте с 23.12.2005
Offline
126
#1

Непонятно, почему вы в одном вопросе смешиваете шаблонизатор и запросы к БД. Что именно тормозит сервер? Ту операцию и кэшировать.

Можно кэшировать страницы целиком, не нужно бояться большого количества файлов. Можно кэшировать результаты запросов к БД, можно кэшировать куски HTML.

Веб-разработка. Сложные проекты. Проектирование. Проект-менеджмент. Стартапы.
seosniks
На сайте с 13.08.2007
Offline
389
#2
psylosss:
Непонятно, почему вы в одном вопросе смешиваете шаблонизатор и запросы к БД. Что именно тормозит сервер? Ту операцию и кэшировать.

Можно кэшировать страницы целиком, не нужно бояться большого количества файлов. Можно кэшировать результаты запросов к БД, можно кэшировать куски HTML.

А разве в шаблонизатор smarty нет кеширования?

Вот мне интересно кеширование запросов к БД.

Чтоб снизить нагрузку на базу.

шаблонизатор у меня не требует доработки.

wdsg
На сайте с 09.02.2009
Offline
31
#3

Для того, чтобы определиться со стратегией кеширования, необходимо иметь ТОЧНОЕ представление на предмет узких мест каждой конкретной системы в контексте конкретного хоста. Вы уверены, что основную загрузку создают именно SQL-запросы в базу?

Проектирование и разработка сложных IT-систем. Вожусь с проблемными задачами.
seosniks
На сайте с 13.08.2007
Offline
389
#4
wdsg:
Для того, чтобы определиться со стратегией кеширования, необходимо иметь ТОЧНОЕ представление на предмет узких мест каждой конкретной системы в контексте конкретного хоста. Вы уверены, что основную загрузку создают именно SQL-запросы в базу?

Да именно они. Есть бллоки новостей которые пришлось отключить

так как нагрузка была очень сильная.

каждый блок выводил по 3 новости с сылкой на сайте.

блоков было больше 10

каждый блок по идее в цекле 3 запроса, в общем надо кешировать эти запросы чтоб снизить эту нагрузку.

Brand from Amber
На сайте с 18.08.2007
Offline
293
#5

seosniks, всё равно фалы. Каталогизированные по дате архивы + 10-50 свежих (актуальных) страниц. Изменение в файлы (кеш) вносить в случае изменения новости (страницы или чего-либо ещё).

Лучший способ понять что-то самому - объяснить это другому.
wdsg
На сайте с 09.02.2009
Offline
31
#6

Как Вы локализовались? Спрофилируйте по времени. Общее время генерации + времена каждого SQL-запроса + время сборки шаблона. Среднее по серии 100 с интервалом 0,5-1 сек. Этого будет достаточно для принятия предварительного решения.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий