Mam witrynę hostowaną na Amazon za pomocą instancji EC2 wspieranej przez wolumin EBS. W weekendy wzrost natężenia ruchu i ja powiększamy instancję, co trochę pomaga - nie widzę już wzrostu wykorzystania procesora do 100%, a serwer przestaje odpowiadać.
Zauważam jednak, że odczyty dysku są również bardzo wysokie (nie można na to poradzić, nie sądzę) i zastanawiam się, w którym momencie zobaczę jakąś awarię, ponieważ dysk nie może utrzymać w górę?
Jak widać na załączonym zrzucie ekranu, w weekend osiągnął maksymalny poziom 80 MB / minutę. Czy ktoś ma doświadczenie z AWS i wie, w którym momencie będę musiał przejść do zrównoważonych obciążeń wielokrotnych, ponieważ EBS staje się wąskim gardłem?
Odpowiedzi:
Pierwszą rzeczą, o której należy pamiętać, która będzie miała największy wpływ na wydajność we / wy, jest typ używanego wystąpienia .
Jeśli chodzi o wolumeny EBS i wydajność, którą uzyskasz, jak sugeruje FAQ AWS , musisz przetestować aplikację, aby zobaczyć, czego się spodziewać:
Oznacza to, że wskaźniki EBS, które otrzymujesz, niekoniecznie muszą być gorsze lub lepsze niż pamięć instancji lokalnej; to naprawdę zależy od twojego zachowania dostępu do danych.
Więcej informacji znajduje się na stronie AWS EBS :
Należy również pamiętać, że wydajność we / wy obejmuje nie tylko operacje we / wy dysku, ale także ruch sieciowy ... więc im większy ruch sieciowy wystąpi, tym mniej operacji we / wy dysku.
W zależności od tego, co serwujesz, buforowanie obiektów w pamięci może znacznie pomóc, jeśli jest to możliwe w przypadku twojego typu aplikacji.
Ponadto, oto kilka postów na blogu, które porównują wydajność EBS i lokalnych (efemerycznych) woluminów w różnych konfiguracjach RAID i poprawek dla uzyskania dobrej wydajności IO:
Dyski efemeryczne EC2 a woluminy EBS w macierzy RAID
Wydajność we / wy Amazon EC2: lokalne dyski efemeryczne a woluminy RAS 0 Striped EBS
Pierwsze dobre IO z EBS Amazon
źródło