madf 279 Опубликовано: 2010-06-29 10:27:51 Share Опубликовано: 2010-06-29 10:27:51 Эта связка у нас используется на самом маленьком сервере в тестовом режиме уже почти год. В базе всего 900 юзеров, пиковый онлайн где-то 300 юзеров. Детальная статистика пишется для 76% онлайновых пользователей (отключена у большинства безлимитчиков). Раньше писалась для всех. Момент когда начали отключать установить не удалось, по этому тут данные не очень достоверные. Сейчас в базе данные начиная с 1 января 2010 года. База занимает 112 Гб на диске. Из них 96 Гб - таблица детальной статистики. В базу добавлено 3 дополнительных индекса по полям: tb_sessions_data.fk_session_log tb_detail_stats.fk_user tb_detail_stats.from_time Так же из базы убран один лишний индекс, ключ и поле: tb_detail_stats.pk_detail_stat (рекомендую это и для пользователей FireBird). Таблица детальной статистики содержит 361186726 записей. Время выполнения типичного запроса на получение детальной статистики составляет от 300 до 400 мс. Сам запрос: SELECT tb_detail_stats.from_time, MAX(tb_detail_stats.till_time) AS till_time, tb_detail_stats.dir_num, SUM(tb_detail_stats.download) AS download, SUM(tb_detail_stats.upload) AS upload, SUM(tb_detail_stats.cost) AS cost FROM tb_detail_stats WHERE tb_detail_stats.fk_user = (select pk_user from tb_users where name='*****') AND tb_detail_stats.from_time >= '2010-04-04 21:00:00' AND tb_detail_stats.from_time <= '2010-04-05 20:59:59' GROUP BY tb_detail_stats.from_time, tb_detail_stats.dir_num ORDER BY tb_detail_stats.from_time ASC, tb_detail_stats.dir_num ASC; (да, знаю, там лучше использовать BETWEEN но это не влияет на время выполнения запроса). СУБД тюнилась по параметрам: shared_buffers = 384MB maintenance_work_mem = 256MB max_fsm_pages = 16000000 checkpoint_segments = 15 effective_cache_size = 1024MB "Ест" примерно 400 Мб оперативки. База пережила битые сектора на диске и миграцию на новый практически без простоя. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас