AWS: problemy z opóźnieniem między serwerem RDS SQL Server w dwóch regionach


Nasza polityka dotycząca danych klientów oznacza, że ​​musimy hostować naszą bazę danych w Wielkiej Brytanii/UE.
Obecnie mamy instancję EC2 US West (Windows) działającą jako serwer WWW. Jednak po dodaniu nowego wystąpienia London RDS (SQL Server) wydajność jest zauważalnie wolniejsza niż w przypadku wystąpienia tego samego typu w tym samym regionie.
Rozumiem, że w dwóch regionach powinno być niewielkie opóźnienie. Ale co możemy zrobić, aby zniwelować powolność? Pamiętając, że możemy przechowywać dane tylko w Wielkiej Brytanii.

Informacje o instancji RDS

  • t2.medium
  • Ogólnego przeznaczenia (SSD)
  • iOPS wyłączony

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:


Obwód

Zgodnie z

ta strona
https://www.cloudping.co/
średnie opóźnienie między eu-west-2 a us-west-2 wynosi około 190 ms. To duże opóźnienie. US-east-1 ma opóźnienie około 95 ms, czyli znacznie mniej.
Większość aplikacji jest prawdopodobnie projektowanych w taki sposób, aby baza danych i serwer aplikacji były blisko siebie. W tym scenariuszu aplikacja może wykonywać częste zapytania do bazy danych bez znaczącego wpływu na aplikację. Wysokie opóźnienie narusza to bardzo rozsądne założenie poczynione przez programistów.

Najlepsze rozwiązanie - Colocate/CDN

Najprostszym i prawdopodobnie najlepszym rozwiązaniem byłoby zbliżenie bazy danych i serwera WWW. Sugeruję umieszczenie obu w tym samym regionie, najlepiej w tym samym AZ. Użyj CloudFront CDN, aby poprawić wydajność, buforując większość zasobów znajdujących się blisko użytkownika.
Najprawdopodobniej odpowiada Twoim wymaganiom.

Rozwiązanie drugie - przeczytaj replikę

Replika RDS do odczytu może być dostarczona w USA. Zmodyfikuj aplikację tak, aby odczyty były wysyłane do lokalnej bazy danych i zapisywały w głównej bazie danych.
Może to nie odpowiadać Twoim wymaganiom.

Rozwiązanie trzecie - replikacja bazy danych

Możesz potencjalnie uruchomić bazę danych, więc istnieją dwie aktywne, główne bazy danych, które są ze sobą stale zsynchronizowane. Zwiększa to nieco ryzyko i może być konieczne uwzględnienie tego w aplikacji lub przynajmniej wykrycie tego.
Może to nie odpowiadać Twoim wymaganiom.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się