Я учусь целый ряд вопросов, связанных с производительности моего приложения написано в Java, которая насчитывает около 100000 посещений в день и каждый визит в среднем от 5 до 10 чтений/записей на двух базовых таблицах базы данных (разделенных поровну), мощность которых составляет как между 1, так и 3 миллиона записей (i доступ к БД через спящий режим).Postgres и контрольный список
В моих двух основных таблицах хранится информация о пользователе (около 60 столбцов типа varchar, integer и timestamptz), а другая связана с отображаемыми данными (около 30 столбцов здесь в основном varchar, integer, timestamptz).
Основной проблемой я столкнулся, возможно, имели падение производительности моего сайта (давайте говорить о временных нагрузок в течение 5 секунд, что, очевидно, не зависит только от производительности базы данных), является использование FillFactor, которое в настоящее время является значением по умолчанию 100 (что оно используется всегда, когда данные не меняются ..).
Очевидно коэффициент заполнения это же по индексу (есть 10 за каждые 2 таблиц типа BTree)
В настоящее время на моих основных таблиц я делаю
- 40% Выбор операции
- 30% обновления операции
- 20% операции вставки
- 10% удаление операций.
Моя база данных также состоит из 40 других таблиц второстепенного значения (есть только другие 3 с одинаковой мощностью пользователя).
Мои вопросы:
- Как вы найти правильное значение коэффициента заполнения должен быть установлен?
- который может быть перечень задач, которые должны быть проверены, чтобы улучшить в производительности базы данных такого рода?
базы данных на сервере, предназначенном (16 Гб ОЗУ, 8 сердечника) и хранения он находится на SSD диске (данные из резервной копии, все дни и перемещены на другое место хранения)
Вы можете пройти через эту страницу вики: http://wiki.postgresql.org/wiki/Performance_Optimization Я также очень рекомендую «Высокопроизводительную книгу Postgres». Действительно стоит покупать. –