Назад | Перейти на главную страницу

соображения задержки / производительности для экземпляра EC2, подключенного к экземпляру RDS в другой зоне доступности, в том же регионе

Это похоже на то, что кто-то в какой-то момент мог бы тщательно протестировать. В частности, какова разница в производительности для подключения к среде RDS PostgreSQL из экземпляра EC2 в той же зоне доступности или в другой зоне доступности в том же регионе?

мой конкретный случай ...

В настоящее время я работаю с несколькими однотенантными средами, в которых работает postgres RDS в одной зоне доступности, и несколько контейнеров приложений распределены по нескольким зонам доступности в этом регионе. Приложение является асимметричным, поэтому определенные службы, загружающие базу данных, могут работать только в «основном» контейнере приложения. Во многих из этих сред основной запущен в зоне доступности, отличной от базы данных. Я пытаюсь определить, стоит ли риска и простоя перемещения баз данных, находящихся в настоящее время в разных зонах доступности, из первичной в одну зону доступности.

Поговорив с несколькими людьми в AWS через их службу поддержки и наших представителей по учетным записям, они скажут вам на маркетинговом уровне, что вы всегда должны получать задержку около 1 мс между зоной доступности в одном и том же регионе. Глядя на комментарий Тима, похоже, что это не так; но я всегда в основном использовал us-west-2 для своих приложений.

Есть нюанс. Если вы используете только младшие экземпляры, такие как t2, у вас, вероятно, будет много джиттера и иногда может возникнуть большая задержка.

Если экземпляры совместимы с ENA (или SR-IOV) и используют его, вы получите значительное снижение фактического джиттера и реально можете ожидать очень малую задержку, пока вы остаетесь в том же VPC и регионе.

RDS, в частности, кажется, хорошо оптимизирован для работы в сети, за те несколько лет, которые я его использую (us-west-2), у меня никогда не было ни одной проблемы, связанной с задержкой с самими экземплярами RDS, но это N = 1 точка данных.

Также ... Если вы используете много экземпляров, подключающихся к одному серверу postgres, убедитесь, что вы используете pgbouncer или аналогичный пул подключений, иначе у вас возникнут проблемы с подключением, прежде чем даже несколько миллисекунд задержки вызовут проблемы.