У меня похожая ситуация на тестовом боксе в случаях, когда:
- Процессы с высокой загрузкой процессора выполняются на сервере;
- Системы начинают выгружать ОЗУ на диски для ОЗУ.интенсивные процессы.
PostgreSQL использует 2 уровня кэша данных:
- общий пул, указанный через
shared_buffers
; - кэш ОС, указанный через
effective_cache_size
, не могли бы вы сказать нам, что вы цените здесь, пожалуйста?
Чтобы понять, что на самом деле происходит в вашей системе, вы должны следить за:
- CPUиспользование;
- использование ОЗУ;
- объемы ввода-вывода и подкачки.
По монитор Я имею в виду не просто просмотр текущих значений, новместо этого используются такие инструменты, как sar
, iostat
, vmstat
и тому подобное, в сочетании, скажем, с RRDtool для лучшего анализа данных.А затем просмотрите подготовленные отчеты за период времени, в течение которого вы наблюдаете нежелательные задержки в простых запросах.
У меня такое ощущение, что у вас проблемы с вводом-выводом, но я не могу сказать больше, не глядя на систему и отчеты.
Я бы порекомендовал:
- Настройка мониторинга и просмотра созданных отчетов;
- Создать резервную базу данных в аналогичном окне, чтобы поиграть с различными настройками.(Я предполагаю, что у вас есть подходящие резервные копии базы данных и WAL для этого.) Я бы рассмотрел: память, автоочистку, контрольные точки и настройки WAL.
- Подумайте об обновлении до PostgreSQL 9.1, за которым вы два основных релиза.