Как правильно составить алгоритм сбора и показа статистики игровых серверов?

Пишу мониторинг игровых серверов. Каждую минуту получаю информацию о серверах. Интересует выдача информации пользователю. Необходимо строить графики за месяц, за сутки и за час. Как лучше всё это проделать?

Сейчас для суток и часа выбираю так:
SELECT * FROM `tbl` WHERE `date` > NOW() - INTERVAL 1 DAY GROUP BY DATE_FORMAT(`date`,'%y%j%H');

SELECT * FROM `tbl` WHERE `date` > NOW() - INTERVAL 1 HOUR GROUP BY DATE_FORMAT(`date`,'%y%j%H%i');

этот вариант подсмотрел тут -> MySQL Select каждой n-ой строки

Для месяца такой вариант не подходит, так как берутся значения в 00:00, а это не совсем хорошо для статистики игрового сервера. В голове прокручиваю идею, чтобы брать средние значения за сутки и показывать пользователю их, но как это правильнее реализовать, не знаю, так как думаю, что выбирать в лоб все значения за месяц и считать среднее будет довольно напряжно.
  • Вопрос задан
  • 2542 просмотра
Пригласить эксперта
Ответы на вопрос 1
PavelK
@PavelK
Может быть отдельные таблицы - в одной по часам.
В другую по прошествию суток (по крону, например) заносить запись - вычисления среднесуточной
В другую аналогично по месяцам.
Статистика задним числом не меняется, поэтому каждый раз её пересчитывать не надо будет.
Только выбирать из соответствующих таблиц, при необходимости и группировать можно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы