Как начать кешировать?

Статус
В этой теме нельзя размещать новые ответы.

WayBe

Новичок
Как начать кешировать?

Есть работающий сайт. Народу немного ходит (~300), но всё-же.
Стоит создавать свою систему кеширования или стоит использовать существующие? memcached, например?
 

zerkms

TDD infected
Команда форума
Стоит создавать свою систему кеширования или стоит использовать существующие? memcached, например?
первое предложение подразумевает, что ты сможешь написать что-либо хоть отдалённо работающее так же хорошо как мемкэш?
 

WayBe

Новичок
zerkms - не пользовался, поэтому и вопрос.
что-то простое выйдет, не более...
 

zerkms

TDD infected
Команда форума
ну если у тебя действительно есть возможность использовать мемкэш, то зачем придумывать что-то ещё - он отличный вариант? так и так небольшой слой кеширования таки придётся напроектировать, раздолье для творчества. :)
 

WayBe

Новичок
zerkms - уважаемый, так понимаю что это доп.библа на сервере, хостер скорее всего скажет "нет". есть ещё варианты, попроще? или всё-таки при такой загрузке не стоит заморачиваться? сайт новостной, на мускуле, запросов на индексе гора... вот: www.kaniv.net
 

zerkms

TDD infected
Команда форума
кстати да, чего-то я упустил вопрос целесообразности вообще :)
 

Фанат

oncle terrible
Команда форума
на самом деле, диагноз можно поставить уже тогда, когда мемкеш называют "системой кэширования".
по-другому это звучит "слышал звон, да не знаю, где он"
 

Wicked

Новичок
ну вообще кэширование подразумевает не только улучшение общей пропускной способности, но и задержки. Вот пока на сайт ходит 300 человек, кэширование имеет смысл только с точки зрения уменьшения задержки.
 

Фанат

oncle terrible
Команда форума
есть мнение, что если при 300 есть задержки, то лечить надо не кэшированием.
 

Wicked

Новичок
начинать надо с другого, с этим я полностью согласен.

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

korchasa

LIMB infected
Автор оригинала: *****
есть мнение, что если при 300 есть задержки, то лечить надо не кэшированием.
есть мнение, что пока о сайте и ресурсах ничего не известно, рано выбирать лекарство :D
 

antson

Новичок
Партнер клуба
>Есть работающий сайт. Народу немного ходит (~300)
Очень информативно :(

уников 300 в день ? средняя глубина просмотра ?
что из себя представляет ресурс ?
сравни граничные случаи
1) статичная страничка со ссылкой на скачивание
файлика метров на 700.
2) ajax - чат
 

AmdY

Пью пиво
Команда форума
Автор оригинала: *****
на самом деле, диагноз можно поставить уже тогда, когда мемкеш называют "системой кэширования".
по-другому это звучит "слышал звон, да не знаю, где он"
очень хорошо подмечено, я бы начал отсюда - погуглить на тему кеширование, чтобы разобраться с опредлениями и принципами кеширования. Ну и для начала кешировал бы в файл, только это когда узнает как и когда это делать.
 

kirill538

Новичок
ИМХО, начинать изучение вопросов кеширования надо с установки заголовков для правильного кеширования браузером. Это при любой посещаемости/нагрузке полезно ...
 

antson

Новичок
Партнер клуба
WayBe
www.kaniv.net - речь про этот сайт ?

рано его оптимизировать через кеширование имхо.
с такой посещаемостью кеш будет только зря генерироваться.

проверь в муське включен queryCache ? если да , то стремись к максимальному попаданию твоих запросов в кеш .
надеюсь просмотры подсчитываешь в отдельной таблице или в тойже что и сами новости ?
 

WayBe

Новичок
antson - да, именно про этот. просмотры хранятся вместе с новостью. никаких шаблонов, всё по старинке жутко перемешано.
уников около 300. просмотры неглубокие. все страницы генерятся из базы, основная нагрузка на индекс - как сборник всех обновлений сайта.
ресурс новостной, с каментами для новостей (практически всех тем сайта). подскажи плиз, как проваерить queryCache?

***** - спасибо что открыли. волнуют куча запросов на каждой странице - новость, коментарии, аватары, пользователи, подобные новости, последние комментарии, календарь новостей за месяц и т.д. думаю, всё это сильно влияет на загрузку.

zerkms - куча запросов на каждой странице. ресурсы экономить собрался :)

запросов дохера. что делать-то?
 

HraKK

Мудак
Команда форума
Запрос запросу рознь. Если все было бы нормально сделано, то и при 3000 униках не возник бы такой вопрос.
 

WayBe

Новичок
В общем, на индексе каждый раз такая горячка:
select * from news where news_data>=NOW() and subj=2 order by cid desc limit 5

select * from news where subj=0 order by cid desc limit 5

select * from news where subj=1 order by cid desc limit 5

А это и на остальных страницах тоже:
Select * from user where name="'.$_SESSION['login'].'" and password="'.$_SESSION['password'].'"

select count(message) as cm from chat where send_data>"'.$sd[0].'" and user_recepient="'.$_SESSION['cid'].'" and user_sender="'.$l['cid'].'"

select * from news order by cid desc limit 10

Select news_comment.news_cid,news.cid as nc, news.name as nn,news_comment.info as nco ,news_comment.author as nca, news.num_comments as nnc from news_comment,news where news_comment.news_cid=news.cid and news_comment.rating>=0 order by news_comment.cid desc limit 10

select * from razdel where subj=1 order by num_news desc limit 10

select * from razdel where subj=0 order by num_news desc limit 10

select DAYOFMONTH(news_data) from news where month(news_data)="'.$month.'" and year(news_data)="'.$year.'"

Подскажите, уважаемые...
 

fixxxer

К.О.
Партнер клуба
Кэширование имеет смысл при посещаемости в много запросов в секунду и условии reads >> writes.

В остальных случаях надо учиться использовать explain (те, кто добрался до условий п.1, уже умеют по определению).
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху