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

Есть проект который использует базу данных postgres. Есть два сервера один боевой второй тестовый.
На тестовом весть проект в docker. А на боевом база лежит на отдельном сервере где 4 ядра и 8 гб памяти (VPS).
Начали оптимизировать работу сервера и отлавливать медленные запросы. Есть запросы которые выполняются по 10 секунд. Начали тестировать эти же забросы на тестовом сервере выполняются 100 мс.
Основной сервер не нагружен сильно.
Базы идентичны.
Куда копать и в чем может быть загвоздка? Как найти узкое место
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 2
sergey-gornostaev
@sergey-gornostaev Куратор тега PostgreSQL
Седой и строгий
Использовать EXPLAIN ANALYZE
Ответ написан
Комментировать
Maksclub
@Maksclub
maksfedorov.ru
Быстродействие не только от индексов зависит, если по 10 секунд -- запросы могут тупить из-за блокировок... То есть просто запрос ждет разблокировки

Где-то или транзакции работают не так, как нужно или еще что-то, потому вы и не находите
(!если и EXPLAIN одинаковый, конечно) разницы... или что-то такое, разница из-за того, что на бою реальная нагрузка, а на тесте вы тестируете только то, что нужно...

Кстати потому некоторые команды боевой трафик (ну его копию) пускают на тестовый стенд, чтобы баги поймать
Ответ написан
Ваш ответ на вопрос

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

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