2013-06-20 3 views
3

Мы в тупике от этого, пытались решить его в течение месяца. Кажется, что каждый раз (возможно, один из 100 запросов) наше время соединения с RDS или RabbitMQ занимает> 0,5 секунды.Heroku: Действительно медленное время соединения с RDS

Мы используем Heroku с Django, Amazon RDS и S3 (мы делаем кучу загрузок изображений).

Вот пример медленное соединение (быстрые соединения очень быстро, как < 20 мс):

http://f.cl.ly/items/1G2L252R1a3j2U2o3w2X/Screen%20Shot%202013-06-18%20at%2012.44.13%20PM.png

Стоит отметить, как Heroku и RDS находятся в нас-восточном регионе. Также, когда мы используем Redis Cloud (дополнение Heroku), мы также видим медленные скорости соединения.

UPDATE:

Я также обнаружил, что эти же самые задержки существуют для Memcached. Фактически, в среднем Memcached занимает примерно ту же сумму, что и запрос к базе данных. Я просто использую Memcached для хранения ключей API, и осталось много памяти.

http://f.cl.ly/items/3u0I0w1d3h0M1E410U2h/Screen%20Shot%202013-06-24%20at%207.37.43%20PM.png

+0

так, что вы имеете в виду, что один из 100 запросов от какого-то один внутрибрюшинно х.х.х.ха занимает> 0,5 секунды? – Rodion

ответ

1

Это напоминает то, что я читал ранее на блоге, где он, казалось, что на Heroku запрос может быть направлен в дино, который обрабатывает запрос давно работает. Таким образом, старый запрос блокирует выполнение следующего запроса. Маршрутизация не такая «интеллектуальная», как рекламируется.

Я не уверен на 100%, что это проблема, с которой вы столкнулись, поскольку кажется, что медлительность не должна быть в связи, но в обработке запроса к Heroku.

Вы можете найти более подробную информацию о проблеме описывает здесь: http://news.rapgenius.com/James-somers-herokus-ugly-secret-lyrics

+0

Да, я думаю, что неэффективная маршрутизация вызовет больше времени ожидания, чем ожидалось. Наше время ожидания всегда очень короткое. Наш трафик составляет около 100 об/мин. – Alexandre

+0

Какой процесс веб-сервера вы используете? –

Смежные вопросы