Heroku поделился дБ с производительностью Amazon RDS - PullRequest
14 голосов
/ 09 октября 2011

Я перевожу все свои данные из общей базы данных Heroku в Amazon RDS.Прежде чем переключить все на RDS, я провел несколько тестов локально, чтобы убедиться, что мое приложение работает с ним нормально.Эти тесты явно замедляют время запроса на RDS.По точно такой же просьбе я получаю:

Вкл. Героку , с герою, совместно используемой дБ :

Completed 200 OK in 98ms (Views: 0.7ms | ActiveRecord: 56.0ms)

Локально , с RDS db instance

Completed 200 OK in 253ms (Views: 0.7ms | ActiveRecord: 127.9ms)

Время ActiveRecord - вот что меня беспокоит здесь.Я что-то пропустил?Heroku четко заявляет об этом в своей общей базе данных:

Общие базы данных подходят для промежуточных, тестовых и низкомасштабных производственных приложений.

И все же, похоже, это быстреечем этот экземпляр RDS я плачу за 80 $ / месяц.Общая база данных heroku работает локально?Потому что для меня совершенно очевидно, что любая база данных, работающая локально внутри моего приложения heroku, будет быстрее, чем любая БД, которая живет за ее пределами.Amazon говорит, что любой запрос, занимающий более 10 мс, считается «медленным».Но сейчас кажется, что на каждый запрос уходит минимум 25 мс только в одну сторону от приложения к серверу Amazon + реальное время запроса.Или я что-то упустил?

1 Ответ

13 голосов
/ 09 октября 2011

Насколько я понимаю, экземпляры Heroku EC2 работают в восточной зоне доступности, поэтому создание экземпляра RDS в той же зоне во многом похоже на предоставление ему локальной базы данных (я полагаю, именно так работают и общие базы данных heroku).

После настройки промежуточной среды для моего приложения непосредственно в Heroku и подключения ее к моему экземпляру RDS время запросов было намного быстрее, чем когда я тестировал его локально (где каждый запрос SQL должен был совершать обход с моего локального компьютера до RDS серверы).

Единственное, что осталось без ответа, - это как определить, в какой конкретной подзоне доступности работает мое приложение heroku, чтобы я мог сопоставить его с моим экземпляром RDS (хотя это, вероятно, не так важно, как глобальная доступность). зона).

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...