Пишу топ рейтинг на php. Дошёл до самого главного (подсчёт хитов/хостов). И меня дико напрягает количество sql запросов в сутки даже от сотни сайтов.
Можно ли придумать что то более изящное, чем после каждого хита отправлять запрос?
Юзать memcache чтобы меньше бд нагружать. Поставить крон на обновление информации с кеша в бд.
DarkAKC, Не на php только
Я задумывался об этом.
В итоге пришёл к варианту парсинга логов nginx + после парса их очистка (чтобы не дёргать под конец дня десятки гигабайт)
А логи уже "расгребать" любым доступным методом (хоть демон на С++)
Решение наиболее 100% по снижению нагрузки, так как в базу будет писаться только по cron (либо же как демон с определённой переодичностью)
А там уже на выводе картинки данные получать с memcached к примеру
Выхлоп:
- Запись не при каждом запросе
- memcached как "горячий" кеш
- База данных как источник истории
Собственно я таким вижу метод снижения нагрузки
А там к парсингу можно и еластик прикрутить
В общем думать нужно в сторону заточки топа под определённый набор ПО, а не для "любого хостинга за 5 рублей"