Назад |
Перейти на главную страницу
Postgres 9.0 блокируется, 100% ЦП
У нас возникла проблема, когда наш сервер Postgres 9.0 иногда зависает и убивает наше веб-приложение. Перезапуск Postgres устраняет проблему.
Вот что мне удалось наблюдать:
- Во-первых, загрузка одного процессора возрастает до 100% за несколько минут.
- Операции с диском за это время упали до ~ 0
- Операции с базой данных падают до 0 (блоков и кортежей в секунду)
- Журналы показывают за это время:
- ВНИМАНИЕ: рабочий запускается слишком долго; отменен
- ВНИМАНИЕ: рабочий запускается слишком долго; отменен
- Нет запросов в журналах (регистрируются только те, которые превышают 200 мс)
- Никаких необычно длительных запросов, зарегистрированных до или во время
- Затем второй ЦП переходит на 100%
- Количество процессов postgres подскакивает с обычных 8-10 до ~ 20
- Соответствует всплеску количества блоков Postgres в секунду (примерно вдвое больше)
- Журналы показывают
- ЖУРНАЛ: не удалось принять SSL-соединение: обнаружен EOF
- Запросы выполняются, но медленно
- Перезапуск postgres возвращает все в норму
Настроить:
Сервер: Amazon EC2 большой
Ubuntu 10.04.2 LTS
Postgres 9.0.3
Выделенный сервер БД
Кто-нибудь знает, что вызывает это? Или есть предложения о том, что еще я должен проверить?
Убедитесь, что у вас не заканчивается память и не возникает проблем с перегрузкой диска.
Если у вас много открытой памяти, войдите прямо в PostgreSQL и найдите ошибочный запрос.
SELECT * FROM pg_stat_activity;