Który jest szybszy dla dostępu do odczytu w EC2; dysk lokalny czy EBS?
11
Który jest szybszy dla dostępu do odczytu w instancji EC2; dysk „lokalny” czy podłączony wolumin EBS?
Mam pewne dane, które należy utrwalić, więc umieściłem je na wolumenie EBS. Korzystam z OpenSolaris, więc ten wolumin został dołączony jako pula ZFS. Mam jednak dużą część miejsca na dysku EC2, która pozostanie nieużywana, dlatego zastanawiam się nad zmianą przeznaczenia na wolumin pamięci podręcznej ZFS, ale nie chcę tego robić, jeśli dostęp do dysku będzie wolniejszy niż objętości wolumenu EBS, ponieważ potencjalnie miałoby to szkodliwy wpływ.
Wystarczy dodać trochę do konsensusu, że EBS jest szybszy ...
Ważnym punktem do zrozumienia tutaj jest to, że prędkość przechowywania instancji jest nieprzewidywalna - Amazon nie daje żadnych gwarancji na to.
Te informacje pochodzą z książki Cloud Application Architectures George'a Reese'a (co wydaje się całkiem dobre z tego, co do tej pory przeglądałem.) Zawiera tabelę zatytułowaną Porównanie opcji przechowywania danych EC2 (s. 41); oto fragment tego stołu (w książce porównano kilka innych cech):
S3 Instance EBS
Speed Low Unpredictable High
Reliability Medium High High
Durability Super high Super low High
Tak więc pamięć instancji może czasami przewyższać EBS pod względem dostępu do odczytu, ale jeśli chcesz mieć stałą wysoką prędkość, naprawdę musisz skorzystać z EBS. Jak ujmuje to Reese w swojej książce:
Innym problemem jest nieprzewidywalność wydajności w pamięci instancji. Możesz pomyśleć, że powinno być szybsze niż inne opcje, a czasem tak jest. Czasami jednak jest niewiarygodnie powolny - wolniejszy niż montaż NFS przez połączenie Ethernet 10bT. Z drugiej strony EBS konsekwentnie zapewnia wydajność sieci SAN przez połączenie Ethernet GB.
Miałem dokładnie odwrotne doświadczenie. Wyniki EBS są nieprzewidywalne. Wszystkie główne przestoje EC2 dotyczyły EBS. Pamięć instancji zawsze miała przewidywalną wydajność.
Joe Van Dyk,
3
Ponieważ sprzeczne z intuicją jest to, że dysk lokalny byłby wolniejszy (szczególnie jeśli używasz dysków SSD), byłoby miło mieć więcej informacji niż „ktoś mówi, że jest szybszy”
L. Blanc,
8
Zebraliśmy około 1000 USD opłat AWS podczas systematycznego badania tego i powiązanych pytań oraz opublikowaliśmy obszerną analizę .
W przypadku losowych (małych) odczytów okazało się, że pamięć „lokalna” (instancja EC2) i EBS mają podobną wydajność, ale pamięć lokalna ma lepsze opóźnienie.
W przypadku odczytów sekwencyjnych (zbiorczych) EBS jest szybszy na m1.small, ale lokalny jest szybszy na m1.large. Nie porównaliśmy bezpośrednio lokalnego z EBS na innych typach instancji, ale stwierdziliśmy, że zwiększenie wielkości instancji ma znacznie większy wpływ na wydajność lokalnego sklepu niż na wydajność EBS.
Jest też pytanie o koszty. Przeniesienie I / O z EBS na dysk lokalny spowoduje zmniejszenie opłat AWS.
Słyszałem raporty, że należy raz napisać na dysku, ponieważ początkowe zapisywanie w lokalizacji ma duże obciążenie. Ponadto czasami możesz dostać zły kontroler EBS, więc najlepiej sprawdzić ich szybkość przed zrobieniem czegoś krytycznego. Widziałem niewielką liczbę dysków z tym problemem. Powstało, gdy robiłem migawkę 4 dysków 500 GB, a 1 z nich trwał 4-5 razy dłużej, nawet przy tych samych danych.
Flashman
1
Amazon stwierdził niejasno, że EBS ogólnie przewyższa „lokalną” partycję scratch w instancji EC2. Wiem, że doświadczyłem większej przepustowości woluminu EBS na własny użytek, ale nie zadałem sobie trudu, aby zmierzyć opóźnienie.
Jeśli ciekawi Cię wydajność w określonym zastosowaniu, najlepszym rozwiązaniem jest prawdopodobnie skonfigurowanie instancji testowej. Wiem, że tak.
Zebraliśmy około 1000 USD opłat AWS podczas systematycznego badania tego i powiązanych pytań oraz opublikowaliśmy obszerną analizę .
W przypadku losowych (małych) odczytów okazało się, że pamięć „lokalna” (instancja EC2) i EBS mają podobną wydajność, ale pamięć lokalna ma lepsze opóźnienie.
W przypadku odczytów sekwencyjnych (zbiorczych) EBS jest szybszy na m1.small, ale lokalny jest szybszy na m1.large. Nie porównaliśmy bezpośrednio lokalnego z EBS na innych typach instancji, ale stwierdziliśmy, że zwiększenie wielkości instancji ma znacznie większy wpływ na wydajność lokalnego sklepu niż na wydajność EBS.
Jest też pytanie o koszty. Przeniesienie I / O z EBS na dysk lokalny spowoduje zmniejszenie opłat AWS.
źródło
Jeśli szukasz wydajności bazy danych w Amazon, ten artykuł może ci się przydać: http://www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-raid-volumes-io-bencmark/
Ogólne wrażenie z moich własnych badań (czytałem o tym od kilku tygodni) jest takie, że EBS jest szybszą opcją.
źródło
Amazon stwierdził niejasno, że EBS ogólnie przewyższa „lokalną” partycję scratch w instancji EC2. Wiem, że doświadczyłem większej przepustowości woluminu EBS na własny użytek, ale nie zadałem sobie trudu, aby zmierzyć opóźnienie.
Jeśli ciekawi Cię wydajność w określonym zastosowaniu, najlepszym rozwiązaniem jest prawdopodobnie skonfigurowanie instancji testowej. Wiem, że tak.
źródło
Uruchomiłem instancje MySQL na woluminach EBS i jestem zadowolony z ich wydajności. Nie mam też żadnych twardych danych, ale działało to dobrze.
źródło