Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL на Azure Performance Benchmark – ScaleGrid срещу Azure Database

Microsoft Azure е един от най-популярните облачни доставчици в света и естествено подходящ за хостинг на бази данни в приложения, използващи Microsoft в своята инфраструктура. MySQL е номер едно база данни с отворен код, която обикновено се хоства чрез екземпляри на Azure. Докато Microsoft предлага свой собствен продукт за база данни Azure, има и други налични алтернативи, които може да са в състояние да ви помогнат да подобрите производителността на MySQL. В тази публикация в блога ние сравняваме Azure Database за MySQL срещу ScaleGrid MySQL на Azure, за да можете да видите кой доставчик предлага най-добрата производителност и латентност. Измерваме латентността в ms 95-та персентилна латентност.

С един поглед – TLDR

Натоварвания с интензивно четене

По време на натоварвания с интензивно четене, ScaleGrid успява да постигне до 3 пъти по-висока пропускателна способност и средно 66% по-добра латентност в сравнение с Azure Database. Прочетете сега

Балансирани работни натоварвания

Със средно 150% по-добра пропускателна способност и по-малко от една трета от латентността, ScaleGrid превъзхожда Azure Database за балансирани работни натоварвания. Прочетете сега

Натоварвания с интензивно писане

Scalegrid постига до 4 пъти по-висока пропускателна способност и средно 64% ​​по-ниска латентност за целия брой нишки в сравнение с Azure Database за MySQL. Прочетете сега

Тъкмо започвате? Вижте най-добрия начин за хостване на MySQL в публикация в Azure Cloud, за да научите повече за оптимизирането на внедряването на вашата облачна база данни.

Сравнение на производителността на MySQL Azure

В този отчет за сравнителен анализ ние сравняваме MySQL хостинг в Azure в ScaleGrid с Azure Database за MySQL в тези три сценария на натоварване:

  • Натоварване с интензивно четене:80% четене и 20% запис
  • Балансирано работно натоварване:50% четене и 50% запис
  • Натоварване с интензивно писане:20% четене и 80% запис

Ние измерваме пропускателната способност на MySQL и производителността на латентността и измерваме пропускателната способност по отношение на заявки в секунда (QPS) и латентност по отношение на 95-ия процентил (ms). Разгледайте нашия раздел Конфигурация на сравнителен анализ под отчета за ефективността, за да видите как са конфигурирани тези тестове.

Ефективност с интензивно четене на MySQL

Натоварванията с интензивно четене на MySQL са натоварвания, които обикновено са доминирани от операции за четене, като SELECT. Така че работното натоварване с интензивно четене би било това, което търси базата данни по-често в сравнение с писането в нея. Percona има страхотна публикация за натоварвания с интензивно четене и писане, където можете да научите повече.

Нека да разгледаме производителността и латентността на ScaleGrid MySQL спрямо Azure Database за MySQL:

Пропускателна способност

Нишки ScaleGrid Azure Подобрение на ScaleGrid
25 5,299 1689 214%
50 6,092 2302 165%
100 8,429 2877 193%
150 9,011 2870 214%
175 7 025 2805 151%
Както можем да видим от горната графика и таблицата за производителност, ScaleGrid MySQL постига до 3 пъти по-висока пропускателна способност в сравнение с Azure Database за натоварвания с интензивно четене. Докато пропускателната способност на Azure Database за MySQL е под 3 000 заявки в секунда във всички сценарии на нишки, ScaleGrid има над 5 000-9 000 заявки в секунда в нишките.

Закъснение

Нишки ScaleGrid Azure Подобрение на ScaleGrid
25 258 451 -43%
50 101 670 -85%
100 148 978 -85%
150 309 1562 -80%
175 1089 1678 -35%
Докато забавянето на Azure Database за MySQL бързо нараства с нарастването на броя на нишките, ScaleGrid MySQL постоянно постига ниска латентност при всички нишки . Средно ScaleGrid за MySQL има 66% по-ниска латентност от Azure Database за MySQL за сценарии с интензивно четене на натоварване.

Намалете забавянето на #MySQL с 66% в Azure с до 3 пъти по-висока производителност.>

Ефективност на балансирано работно натоварване на MySQL

Балансираните натоварвания използват приблизително равни количества операции за четене и операции за запис.

Пропускателна способност

Нишки ScaleGrid Azure Подобрение на ScaleGrid
25 3806 1748 118%
50 5834 2437 139%
100 6,365 2712 135%
150 5724 2775 106%
175 6,206 1767 251%
Средно ScaleGrid подобри пропускателната способност на MySQL със 150% спрямо Azure Database за MySQL за балансирани работни натоварвания и е над 2 пъти по-добър през целия брой нишки. Azure Database достигна максимална скорост от около 2775 заявки в секунда при 150 нишки, докато ScaleGrid постигна 5724 заявки в секунда за същия брой нишки.

Закъснение

Нишки ScaleGrid Azure Подобрение на ScaleGrid
25 76 390 -81%
50 103 612 -83%
100 240 943 -75%
150 560 1590 -65%
175 560 2199 -75%
Виждаме друго драматично подобрение в производителността на латентността за балансирани работни натоварвания, където внедряванията на ScaleGrid MySQL могат да работят с по-малко от една трета от латентността в сравнение с Azure Database за MySQL.

Ефективност на MySQL интензивно писане

Докато операциите за четене търсят от базата данни, операциите за запис са тези, които записват или променят базата данни, като например заявки INSERT, UPDATE или DELETE. Натоварванията с интензивно писане обикновено са по-скъпи от натоварванията с интензивно четене, тъй като операциите консумират повече ресурси. Нека сравним ScaleGrid спрямо производителността на базата данни на Azure и латентността при натоварвания с интензивно писане на MySQL.

Пропускателна способност

Нишки ScaleGrid Azure Подобрение на ScaleGrid
25 3327 826 303%
50 5003 1154 334%
100 5180 1476 251%
150 4310 1651 161%
175 4071 1643 148%
В нашия сценарий с интензивен запис можем да видим най-голямото подобрение на производителността, когато ScaleGrid постига до 4x по-висока пропускателна способност в сравнение с базата данни Azure . Това е особено очевидно в нашите сценарии с ниска нишка, но дори при 175 нишки ScaleGrid все още работи 2,5 пъти по-добре от Azure Database.

Закъснение

Нишки ScaleGrid Azure Подобрение на ScaleGrid
25 76 277 -73%
50 101 383 -74%
100 298 996 -70%
150 760 1740 -56%
175 1089 2009 -46%
ScaleGrid превъзхожда Azure Database отново със средно 64% по-ниско забавяне за целия брой нишки за натоварвания с интензивно писане.

Както можем да видим от горните отчети, ScaleGrid ви помага значително да увеличите пропускателната способност и да намалите латентността си спрямо внедряването на Azure Database за MySQL при интензивно четене, интензивно записване и балансирано натоварване сценарии. За да научите повече за това как тези два доставчика се сравняват между функциите, вижте страницата MySQL на ScaleGrid срещу Azure Database.

Конфигурации за сравнителен анализ

Нека да разгледаме конфигурациите, които използвахме в бенчмарка на производителността:

Сравнение на конфигурации

Проектирахме конфигурацията, използвайки най-сравнимите планове, предлагани между ScaleGrid и Azure Database. Има само малки разлики и разходите са еднакви за двата доставчици:

ScaleGrid MySQL на Azure Azure Database за MySQL
Тип на екземпляра Специализиран голям:Standard_Ds2_v2 2 ядра Общо предназначение:2 ядра
RAM 7GB 10GB (5GB памет на vCore)
SSD 128GB, Premium SSD диск, 500 IOPS 167GB, до 500 IOPS
Тип внедряване 2+1 кворум с полусинхронна репликация +1 Асинхронна репликация за четене на реплика
Регион Източен САЩ Източен САЩ
Поддръжка Включено Стандартен план ($100)
Прогнозна месечна цена $400 $400

Конфигурация на Sysbench

Конфигурация Подробности
Инструмент Sysbench версия 1.0.20
Хост Standard_Ds2_v2
2 ядра (2 vcpus, 7GB памет) в регион Източен САЩ
# Таблици 100
# реда на таблица 2 000 000
Разпределение на произволни числа Специален

Конфигурация на MySQL сървър

Конфигурация Azure Scalegrid (Специализирана) Azure DB за MySQL
SQL версия 5.7.25 5.7.27
innodb_buffer_pool_size 4G 7.5G
innodb_log_file_size 1G 268M
innodb_io_capacity 500 500
innodb_io_capacity_max 1000 1000

Обърнете внимание, че в ScaleGrid имате разширени опции за персонализиране на вашите MySQL конфигурации. Това ви позволява да персонализирате внедряването си според нуждите на приложението си и да оптимизирате за производителност. За съжаление Azure Database не позволява персонализиране на някои от параметрите, така че сте останали с конфигурациите по подразбиране, достъпни чрез тяхната платформа.

Например успяхме да персонализираме размера на регистрационния файл на InnoDB до 1GB, докато за Azure Database това не може да се променя и има стойност по подразбиране от 268M. Научете повече за ограниченията в Azure Database за MySQL.

Има много други предимства от използването на Scalegrid MySQL за Azure, вижте пълното сравнение на нашата страница ScaleGrid срещу Azure Database – 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. Как да защитим MySQL:Част втора

  2. MySQL Great Circle Distance (формула на Haversine)

  3. ГРЕШКА 1130 (HY000):Хост '' не е разрешен да се свързва с този MySQL сървър

  4. Кое е по-ефективно:множество MySQL таблици или една голяма таблица?

  5. Ъгъл на базата данни:Ръководство за начинаещи за системите за съхранение на Mysql