@ZzZero

Какие есть варианты оптимизации/увеличении производительности Postgre?

Приложение имеет свыше двухсот таблиц, из которых 15 таблиц используются постоянно, основные таблицы приложения. Есть таблицы в ширину по 150 колонок.
Все таблицы соответствуют норльманым формам, индексами покрыты (в т.ч. и составными) большая часть запросов SELECT.
Столкнулся с двукратным падением производительности БД.
Есть таблицы, которые ежедневно пополняются примерно на 10тыс строк (в ширину по 150 колонок).
В приложении нет вариантов дешевой и "средней" оптимизации, количество запросов и их сложность свиденена к минимуму, много что кэшируется.
Как вообще администрировать БД? Есть у кого какие идеи, не увеличивая вычеслительные мощности?
  • Вопрос задан
  • 359 просмотров
Пригласить эксперта
Ответы на вопрос 1
@lega
Я бы залогировал время выполнения всех запросов, составил топ самых медленных и начал с верха разбирать каждый запрос.
Все таблицы соответствуют норльманым формам, индексами покрыты (в т.ч. и составными) большая часть запросов SELECT.
Большое кол-во join-ов снижают производительность, вложенные селекты могут убивать производительность т.к. на них нет индексов. Так же зачастую разработчики ставят неправильные индексы что дает не максимальную производительность - не достаточно просто "установить" индексы на нужные поля.
Но это все разработчику, админу наверно остается следить что-б памяти хватало, да в cpu/io не упиралось (ну и может статьи по тюнингу почитать)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы