какие варианты кроме разнесения баз по разным кластерам и создания реплик для чтения есть чтобы снизить нагрузку на кластер? Шардирование на уровне приложения не осуществимо, на уровне СУБД мне видится оверинжинирингом. Наверху - текущая организация. Запросы приложение выдаёт ужаснейшие, это будут решать потом, просят именно как-нибудь со стороны инфры и с минимальными трудозатрами и почти без вмешательств в код решить проблему.
Смотря какие запросы генерят нагрузку. Если это чисто чтение, то разнесение на слейвы (вроде pgpool2 умеет балансировку делать, чтобы было прозрачно для приложения). Но тут важно понимать что за запросы: Select..., Select .. for update, Insert и т.п. Если запросы на запись, то смотреть во что упираетесь (процессор, дисковая подсистема, память и т.п.).
https://pastebin.com/y7PPqeKE Например вот такое
1) разнесения баз по разным кластерам и создания реплик для чтения 2) local-ssd 3) увеличение ресурсов cpu/mem
Отлично, спасибо, я именно это все сам и предлагаю)
там можно посмотреть графики конкретного запроса
Обсуждают сегодня