Задать вопрос
@ReFeRy

Стоит ли пытаться воткнуть кэш везде, где только можно (memcached, проект на php)?

Есть работающий сайт, контентный проект с UGC. Много действий пользователей, много текстового контента. Сайт работает на одном сервере, основное хранилище информации mysql, для кэширования используется memchache.

Соотношение нагрузки таково:
MySQL: 101 запрос в секунду, 2 Гб трафика в час
Memcache: 40 запросов в секунду, 600 Мб трафика в час
Трафик: 40к уников, 350к просмотров в сутки (и ещё много действий через AJAX).

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

P.S. Сайт написан на голом php, общение с mysql через велосипед. В кэш отдавал пока те запросы, которые перебирают большие таблицы, либо запрашиваются сотни/тысячи раз между изменениями данных.
  • Вопрос задан
  • 452 просмотра
Подписаться 2 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
VELIK505
@VELIK505
Руководитель департамента profitcentr.com
Соотношение нагрузки таково:
MySQL: 101 запрос в секунду, 2 Гб трафика в час
Memcache: 40 запросов в секунду, 600 Мб трафика в час

Это вообще неочём... Я бы даже сказал это мизер...
Лучше оптимизировать тяжелые sql запросы если как таковые имеются.
Ответ написан
@RidgeA
1. Кешировать можно все, что позволяет кешировать бизнес-логика. Мизерный прирост в 10-ти местах может дать суммарно лучше прирост, т.к. эти мизерные запросы не будут лишний раз насиловать базу и база сможет быстрее обслуживать запросы.
2. Можно кешировать страницы и http запросы на уровне веб-сервера, до php запрос не должен дойти вообще - это может дать прирость общей производительности.
3. Если это что-то вроде блога, где посты меняются не так часто, а то и вообще не меняются, можно основные странички сгенерировать в уже готовый html и отдавать их как статику через web-сервер. Менять эти странички на серваке в случае какого-либо изменения.
Ответ написан
akubintsev
@akubintsev
Опытный backend разработчик
Я понимаю, что серебряной пули не бывает, но может кто-то из своего опыта скажет - стоит ли пытаться переложить нагрузку на кэш в тех случаях, когда экономия выйдет мизерной? Например, сейчас кэш практически не используется в блогах, комментариях, личных сообщениях - там очень много обновлений, выгода от введения кэша будет мизерной, а кодить много.


Не стоит.
Управление кешем сложная задача. А если кешировать всё подряд, то легко получить неконсистентное состояние и понять где беда будет не просто.
Ответить на ваш вопрос только обвесив сперва весь проект метриками.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽