Serwery w chmurze Amazon AWS (cz.2)

Po kilku dniach intensywnych testów infrastruktury Amazon’a zapadła ostateczna decyzja, jest to zdecydowanie najwygodniejsza i najtańsza opcja na rynku do przeprowadzenia tego typu eventu.

Wcześniejsze testy wykazały, że aby obsłużyć 50 tyś requestów na sekundę potrzebujemy 25 najsilniejszych instancji EC2. Wcześniejsze testy miały jednak jedną wadę, mianowicie AB i SIEGE uruchamiane były zaledwie z 3 różnych serwerów co powodowało zafałszowanie progu przy którym Apache przestał odpowiadać na żadania. Błąd spowodowany metoda testowania można łatwo wyeliminować przeprowadzając testy z większej ilości maszyn jednocześnie co też uczyniłem wykorzystując do tego mikroinstancje EC2 – 20 maszyn z 613MB pamięci i 2ECU na 64 bitowej platformie w zupełności do tego wystarczyły. Ostateczny test został przeprowadzony i powtórzony 30 razy w identyczny sposób jak przedstawiono w poprzednim poście z 20 instancji jednocześnie.

Po uśrednieniu wyników SIEGE pokazywał poprawną obsługę na poziomie 4500 requestów na sekundę czyli przy założeniu najczarniejszego scenariusza wyłączenia cache przeglądarki i wystąpieniu wszystkich requestów jednocześnie potrzebujemy ok 11 maszyn.

Ostateczna konfiguracja, z którą przystapimy do testów produkcyjnych wygląda następująco:

1 x DB server (master) plus Elastic IP

1 x DB server (slave)

1 x Load Balancer

10 x Web Server

Powyższa konfiguracja zapewnia ciągłość pracy dla serwera DB na wypadek awarii poprzez szybkie przepięcie Elastycznego IP na zapasowy serwer.

Trzeba tu również zauważyć, że dużą wadą rozwiązań Amazon jest brak elastycznych IP dla load balancerów i konieczność konfiguracji ich przez CNAME. Powoduje to, że serwis musi być uruchamiany na www.domena.pl zamiast an domena.pl a użytkownicy którzy z jakiegokolwiek powodu wejdą na domena.pl wysyłają requesty do starego serwera, który może nie być w stanie ich obsłużyc… Serwery w chmurze

Najprostszym rozwiązaniem jest ustawienie przekierowań na www.domena.pl już na poziomie Apache’a ale postanowiliśmy nie ryzykować problemów z obciążeniem i uruchomiliśmy nową instancję EC2 z elastycznym IP, ten nowy IP został ustawiony jako rekord A w DNS a wszystkie zapytania które zostaną do niego skierowane zostaną przekierowane na www.domena.pl – takie rozwiązanie eliminuje problemy ze starym serwerem produkcyjnym i jego wydajnościa. Na starym serwerze produkcyjny również ustawione zostały przekierowania na www.domena.pl bo jak się okazało odświeżanie niektórych serwerów DNS może trwać nawet dłużej niż 48 godzin mimo poprawnych (skróconych) czasów TTL.

źródło:

Powiązane wpisy:

2 Responses to Serwery w chmurze Amazon AWS (cz.2)

  1. Łukasz says:

    Nieda się ukryć że chmura to dobre rozwiązanie jednak musimy pamiętać że nie zawsze. O ile pewne rzeczy warto tam trzymać o tyle nie odwazył bym się wrzucać do sieci ważnych i poufnych danych…

Odpowiedz na „ŁukaszAnuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>