Во-первых, установка сервера:непоследовательно медленные запросы в производстве (RDS)
- Nginx во внешнем интерфейсе к миру
- gunicorn работает приложение колба с GEvent рабочих
- Postgres базы данных, соединение объединенных в приложении , работает с Amazon RDS, связанных с psycopg2 исправлен для работы с GEvent
проблема Я сталкиваюсь необъяснимо медленные запросы, которые иногда работает порядка 100 мс или около того (ид eal), но которые часто растут до 10 или более. Хотя время является параметром в запросе, разница между быстрым и медленным запросом происходит гораздо чаще, чем изменение набора результатов. Это не похоже на какой-либо значимый всплеск использования ЦП, использования памяти, ввода/вывода чтения/записи, частоты запросов и т. Д. Это кажется произвольным.
Я пробовал:
- Оптимизация запроса - безусловно, правильный, но она работает очень хорошо на местном уровне, а также в любое время я попробовал его непосредственно на сервере через PSQL.
- Выполняется на большом/улучшенном экземпляре RDS - В настоящее время я работаю над экземпляром m3.medium с PIOPS и не приближаюсь к этой скорости чтения, поэтому я не думаю, что это проблема.
- Тонкая настройка рабочих-пулеметчиков - Я думал, что это может быть проблемой, если драйвер psycopg2 слишком сильно переключается на контекстный переключатель, но это не повлияло.
- Подробнее - Я работал на достойное количество времени, так что это были всего лишь две вещи, которые я пробовал.
Есть ли у кого-нибудь идеи по отладке этой проблемы?
Похоже, что это может быть взрывная деятельность контрольной точки; включите 'log_checkpoints' и установите подходящее' log_min_duration_statement', чтобы просмотреть интересующие запросы и/или использовать 'auto_explain'. –
Возможно ли это, если в то время не было записей? База данных в основном доступна только для чтения (с заметным исключением, но это не работает в данный момент). Я понимаю, что контрольные точки предназначены для записи, а не для чтения. –
Контрольные точки все еще выполняются, когда нет активности записи на уровне пользователя, но в целом они не заметны. Так что нет, я бы не сказал, что все. –