MySQL to wszechczasowa baza danych open source numer jeden na świecie i podstawa w przestrzeni RDBMS. DigitalOcean szybko buduje swoją reputację jako chmura programistyczna, zapewniając niedrogą, elastyczną i łatwą w użyciu platformę w chmurze, z którą programiści mogą współpracować. MySQL na DigitalOcean to naturalne rozwiązanie, ale jaki jest najlepszy sposób na wdrożenie bazy danych w chmurze? W tym poście porównamy dwóch najlepszych dostawców, zarządzane bazy danych DigitalOcean dla MySQL z hostingiem ScaleGrid MySQL na DigitalOcean.
W skrócie – TLDR | ||||||
---|---|---|---|---|---|---|
|
Mój test wydajności MySQL DigitalOcean
W tym teście porównawczym porównujemy równoważne rozmiary planów między ScaleGrid MySQL na DigitalOcean i DigitalOcean Managed Databases dla MySQL. Zamierzamy użyć wspólnego, popularnego rozmiaru planu, korzystając z poniższych konfiguracji dla tego testu porównawczego wydajności:
Omówienie porównania
ScaleGrid | Cyfrowy ocean | |
---|---|---|
Typ wystąpienia | Średni:4 vCPU | Średni:4 vCPU |
Wersja MySQL | 8.0.20 | 8.0.20 |
RAM | 8 GB | 8 GB |
SSD | 140 GB | 115 GB |
Typ wdrożenia | Samodzielny | Samodzielny |
Region | SF03 | SF03 |
Wsparcie | W zestawie | Obsługa na poziomie biznesowym w przypadku kont o wielkości powyżej 500 USD/miesiąc |
Cena miesięczna | 120 USD | 120 USD |
Jak widać powyżej, ScaleGrid i DigitalOcean oferują te same konfiguracje planów w tym rozmiarze planu, z wyjątkiem dysku SSD, na którym ScaleGrid zapewnia ponad 20% więcej miejsca na ta sama cena.
Aby zapewnić najdokładniejsze wyniki w naszych testach wydajności, przeprowadzamy test porównawczy czterokrotnie dla każdego porównania, aby znaleźć średnią wydajność w zakresie przepustowości i opóźnień w przypadku obciążeń intensywnie odczytujących i zrównoważonych obciążeń i intensywne obciążenia związane z zapisem.
Przepustowość
W tym teście porównawczym mierzymy przepustowość MySQL w postaci zapytań na sekundę (QPS), aby zmierzyć wydajność zapytań. Aby szybko podsumować wyniki, poniżej wyświetlamy średnie obciążenia dla intensywnego odczytu, intensywnego zapisu i zrównoważonego dla 150 wątków dla ScaleGrid i DigitalOcean MySQL:
W przypadku typowego porównania 150 wątków, ScaleGrid osiąga średnio prawie 40% wyższą przepustowość w porównaniu z DigitalOcean dla MySQL, z do 46% wyższą przepustowość w obciążeniach wymagających intensywnego zapisu. |
Intensywny test wydajności odczytu
Wątki klienta | ScaleGrid | DigitalOcean | Ulepszenie ScaleGrid |
---|---|---|---|
25 | 10 576 | 7268 | 45,5% |
50 | 12 374 | 8598 | 43,9% |
100 | 12 984 | 9215 | 40,9% |
150 | 12 845 | 9590 | 33,9% |
175 | 13 247 | 9720 | 36,3% |
200 | 12 916 | 9677 | 33,5% |
W przypadku intensywnych obciążeń odczytu, ScaleGrid for MySQL zapewnia średnio o 39% wyższą przepustowość w porównaniu z zarządzanymi bazami danych DigitalOcean we wszystkich liczbach wątków.
Zrównoważony test wydajności przepustowości obciążenia
Wątki klienta | ScaleGrid | DigitalOcean | Ulepszenie ScaleGrid |
---|---|---|---|
25 | 7915 | 6415 | 23,4% |
50 | 9725 | 7613 | 27,7% |
100 | 11106 | 8512 | 30,5% |
150 | 11 936 | 8552 | 39,6% |
175 | 12 287 | 8447 | 45,5% |
200 | 12507 | 8579 | 45,8% |
W przypadku zrównoważonych obciążeń ScaleGrid for MySQL zapewnia średnio o 35,4% wyższą przepustowość w porównaniu z zarządzanymi bazami danych DigitalOcean we wszystkich liczbach wątków. Największą poprawę wydajności można zaobserwować w wierszach o większej liczbie wątków 175 i 200, w których ScaleGrid osiąga ponad 45% wyższą przepustowość.
test wydajności intensywnego zapisu
Wątki klienta | ScaleGrid | DigitalOcean | Ulepszenie ScaleGrid |
---|---|---|---|
25 | 6,595 | 5353 | 23,2% |
50 | 7781 | 6384 | 21,9% |
100 | 9268 | 7132 | 29,9% |
150 | 10 409 | 7124 | 46,1% |
175 | 10 338 | 7075 | 46,1% |
200 | 10 503 | 7176 | 46,4% |
W przypadku obciążeń intensywnie korzystających z zapisu, ScaleGrid for MySQL zapewnia średnio o 35,6% wyższą przepustowość w porównaniu z zarządzanymi bazami danych DigitalOcean we wszystkich liczbach wątków. Jak widać z powyższej tabeli, ScaleGrid osiąga ponad 46% wyższą przepustowość w liczbie wątków ponad 150 wątków w porównaniu z DigitalOcean.
Opóźnienie
Teraz, gdy porównaliśmy wydajność, przyjrzyjmy się opóźnieniom ScaleGrid i DigitalOcean dla MySQL. Mierzymy opóźnienie w 95. percentylu czasu oczekiwania i ponownie porównujemy obciążenia wymagające intensywnego odczytu, zapisu i zrównoważonego.
Na powyższym wykresie porównujemy opóźnienia ScaleGrid i DigitalOcean MySQL w typowych obciążeniach dla 150 wątków i widzimy to na średnio, ScaleGrid osiąga prawie 30% niższe opóźnienia w porównaniu z DigitalOcean dla tych samych konfiguracji wdrożeniowych. |
Zmniejsz opóźnienie #MySQL o 30% w DigitalOcean, z 40% wyższą przepustowością Kliknij, aby ćwierkać
Teraz przyjrzyjmy się opóźnieniom w różnych liczbach wątków w scenariuszach wymagających intensywnego odczytu, zrównoważonego obciążenia i zapisu.
benchmark opóźnień dla intensywnego odczytu
Wątki klienta | ScaleGrid | DigitalOcean | Ulepszenie ScaleGrid |
---|---|---|---|
25 | 61 | 92 | -33,8% |
50 | 112 | 152 | -26,4% |
100 | 213 | 279 | -23,6% |
150 | 336 | 419 | -19,9% |
175 | 388 | 496 | -21,8% |
200 | 456 | 594 | -23,2% |
Średnio ScaleGrid dla MySQL osiągnął 24,8% niższe opóźnienia w porównaniu z zarządzanymi bazami danych DigitalOcean w scenariuszach wymagających intensywnego odczytu we wszystkich liczbach wątków.
Zrównoważony test opóźnienia obciążenia
Wątki klienta | ScaleGrid | DigitalOcean | Ulepszenie ScaleGrid |
---|---|---|---|
25 | 39 | 53 | -26,3% |
50 | 67 | 87 | -23,6% |
100 | 117 | 158 | -25,7% |
150 | 170 | 246 | -30,8% |
175 | 197 | 300 | -34,3% |
200 | 222 | 342 | -35,1% |
Średnio ScaleGrid dla MySQL osiągnęło 29,3% niższe opóźnienie w porównaniu z zarządzanymi bazami danych DigitalOcean ze scenariuszy zrównoważonego obciążenia we wszystkich liczbach wątków. Przede wszystkim opóźnienie scenariuszy wątków 175 i 200 zostało zmniejszone o ponad jedną trzecią w ScaleGrid.
Jeśli wdrażasz również PostgreSQL i chcesz zobaczyć, jak ci dwaj dostawcy porównują przepustowość i opóźnienia, zapoznaj się z naszym porównaniem wydajności i cen PostgreSQL DigitalOcean — ScaleGrid i DigitalOcean Managed Publikacja w bazach danych
test porównawczy opóźnień w zapisie
Wątki klienta | ScaleGrid | DigitalOcean | Ulepszenie ScaleGrid |
---|---|---|---|
25 | 45 | 55 | -17,5% |
50 | 74 | 93 | -20,9% |
100 | 119 | 166 | -28,5% |
150 | 164 | 261 | -37,4% |
175 | 192 | 311 | -38,1% |
200 | 219 | 359 | -38,9% |
Przeciętnie ScaleGrid dla MySQL osiągnęło 29,3% niższe opóźnienie w porównaniu z zarządzanymi bazami danych DigitalOcean z powodu obciążeń wymagających intensywnego zapisu we wszystkich liczbach wątków. W szczególności scenariusze ze 150 wątkami lub wyższymi osiągnęły ponad 37% mniejsze opóźnienia w ScaleGrid w porównaniu z DigitalOcean.
Konfiguracja MySQL Benchmark
Oto zestawienie konfiguracji testowych, których użyliśmy do porównania wdrożeń MySQL w ScaleGrid i DigitalOcean.
Konfiguracja Sysbench
Konfiguracja | Szczegóły |
---|---|
Narzędzie | Sysbench wersja 1.0.20 |
Host | Średni (4 vCPU, 8GB RAM) region SF03 |
# tabele | 100 |
# wierszy na tabelę | 2,000,000 |
# wątki | 25-200 |
Rozkład liczb losowych | Jednolite |
Wykorzystaliśmy dwie krople DigitalOcean do porównania każdej instancji jednocześnie.
Parametry MySQL
Konfiguracja | ScaleGrid | Cyfrowy ocean |
---|---|---|
Wersja MySQL | 8.0.20 | 8.0.20 |
innodb_buffer_pool_size | 5GB | 3,6 GB |
innodb_log_file_size | 1 | 2.2 |
Innodb_io_capacity | 3000 | 200 |
innodb_io_capacity_max | 6000 | 2000 |
binlog_group_commit_sync_delay | 0 | 0 |
DigitalOcean nie pozwala na dostosowanie konfiguracji MySQL, dlatego są one ograniczone do wyświetlanych tutaj wartości domyślnych. W ScaleGrid możesz dostosować konfiguracje MySQL, aby zoptymalizować wdrożenie pod kątem unikalnego przypadku użycia.
obciążenie intensywnym odczytem
80% odczytów i 20% zapisów, z 12 odczytami i 3 zapisami na transakcję.
Zrównoważone obciążenie
50% odczytów i 50% zapisów, uruchamianie 3 wyborów, 1 wstawiania, 1 aktualizacji i 1 usuwania w ramach każdej transakcji.
obciążenie intensywnym zapisem
20% odczytów i 80% zapisów, z 4 zapisami i 1 odczytem dla każdej transakcji.
Ceny MySQL w DigitalOcean
Wycena jest oczywiście jedną z najważniejszych kwestii, jeśli chodzi o inwestowanie w infrastrukturę. Na szczęście, tak jak opisaliśmy powyżej, ceny ScaleGrid są takie same jak w przypadku DigitalOcean dla MySQL, jeśli chodzi o pamięć RAM i vCPU we wdrożeniach autonomicznych, 2-węzłowych i 3-węzłowych:
Chociaż ceny są takie same, ScaleGrid oferuje również średnio 30% więcej miejsca w tej samej cenie co DigitalOcean, a jak odkryliśmy powyżej, zapewnia również znacznie wyższą wydajność. Obaj dostawcy oferują również obsługę PostgreSQL i Redis w tej samej cenie, a ScaleGrid jest jedynym DBaaS oferującym obsługę bazy danych MongoDB® na DigitalOcean.
ScaleGrid oferuje również plan Nano z 1 GB pamięci RAM, 1 rdzeniem i 18 GB pamięci za jedyne 10 USD miesięcznie. To świetny przystępny plan dla projektów deweloperskich. Dodatkowo ScaleGrid oferuje program startowy, w którym firmy na wczesnym etapie rozwoju mogą uzyskać 50% zniżki na hosting MySQL na DigitalOcean przez okres do 12 miesięcy.
Funkcje MySQL DigitalOcean
Zarówno ScaleGrid, jak i DigitalOcean oferują podstawowe funkcje DBaaS, takie jak skalowanie, przywracanie i alerty, których oczekujemy od dostawcy zarządzanej bazy danych. Ale, jak wie każdy administrator baz danych, zarządzanie wdrożeniem to znacznie więcej niż tylko podstawy. Rzućmy okiem na niektóre zaawansowane funkcje MySQL oferowane przez ScaleGrid i DigitalOcean:
ScaleGrid MySQL | DigitalOcean MySQL | |
---|---|---|
Obsługiwane wersje MySQL | 5.6.x, 5.7.x, 8.0.x | 8.0.x |
MySQL Super User Access | Tak | Nie |
Opcje replikacji | Semisynchroniczny i asynchroniczny | Asynchroniczny |
Zarządzanie konfiguracją MySQL i dostrajanie | Tak | Nie |
Analiza powolnych zapytań na żądanie | Tak | Nie |
Wsparcie 24/7 wliczone | Tak | Wsparcie biznesowe dostępne tylko dla kont powyżej 500 USD/miesiąc |
To tylko kilka z zaawansowanych funkcji zarządzania MySQL. Aby porównać pełną listę, sprawdź stronę ScaleGrid vs. DigitalOcean MySQL.