Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najlepsza wydajność MySQL DigitalOcean — ScaleGrid kontra zarządzane bazy danych DigitalOcean

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

Porównaj przepustowość

ScaleGrid zapewnia średnio prawie 40% wyższą przepustowość w porównaniu z DigitalOcean dla MySQL, z nawet 46% wyższą przepustowością w przypadku obciążeń intensywnie korzystających z zapisu. Przeczytaj teraz

Porównaj opóźnienie

Średnio ScaleGrid osiąga prawie 30% mniejsze opóźnienia w porównaniu z DigitalOcean dla tych samych konfiguracji wdrażania. Przeczytaj teraz

Porównaj ceny

ScaleGrid zapewnia średnio o 30% więcej miejsca na dane w porównaniu z DigitalOcean dla MySQL w tej samej przystępnej cenie. Przeczytaj teraz

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wolny czas startu MySQL w trybie GTID? Problemem może być rozmiar pliku dziennika binarnego

  2. Zamień na składnię zapytania

  3. mysql SQL:określony element jako pierwszy, a następnie sortowanie pozostałych elementów

  4. Jak zoptymalizować bazę danych witryny

  5. Jak skonfigurować strukturę indeksu ElasticSearch z wieloma powiązaniami encji?