sql >> Base de Datos >  >> RDS >> Mysql

MySQL en Azure Performance Benchmark:ScaleGrid frente a Azure Database

Microsoft Azure es uno de los proveedores de servicios en la nube más populares del mundo y es ideal para el alojamiento de bases de datos en aplicaciones que aprovechan Microsoft en toda su infraestructura. MySQL es la base de datos de código abierto número uno que comúnmente se hospeda a través de instancias de Azure. Si bien Microsoft ofrece su propio producto Azure Database, existen otras alternativas disponibles que pueden ayudarlo a mejorar su rendimiento de MySQL. En esta publicación de blog, comparamos Azure Database for MySQL con ScaleGrid MySQL en Azure para que pueda ver qué proveedor ofrece el mejor rendimiento y latencia. Medimos la latencia en ms percentil 95 de latencia.

De un vistazo:TLDR

Cargas de trabajo de lectura intensiva

Durante las cargas de trabajo de lectura intensiva, ScaleGrid logra lograr un rendimiento hasta 3 veces mayor y promedia un 66 % más de latencia en comparación con Azure Database. Leer ahora

Cargas de trabajo equilibradas

Con un promedio de 150 % más de rendimiento y menos de un tercio de la latencia, ScaleGrid supera a Azure Database for Balanced Workloads. Leer ahora

Cargas de trabajo de escritura intensiva

Scalegrid logra un rendimiento hasta 4 veces mayor y promedia un 64 % menos de latencia en todos los subprocesos en comparación con Azure Database for MySQL. Leer ahora

¿Acabas de empezar? Consulte la publicación The Best Way to Host MySQL on Azure Cloud para obtener más información sobre cómo optimizar la implementación de su base de datos en la nube.

Evaluación comparativa de rendimiento de MySQL Azure

En este informe comparativo, comparamos el alojamiento de MySQL en Azure en ScaleGrid con Azure Database for MySQL en estos tres escenarios de carga de trabajo:

  • Carga de trabajo de lectura intensiva:80 % de lecturas y 20 % de escrituras
  • Carga de trabajo equilibrada:50 % de lecturas y 50 % de escrituras
  • Carga de trabajo de escritura intensiva:20 % de lecturas y 80 % de escrituras

Medimos el rendimiento de MySQL y la latencia, y medimos el rendimiento en términos de consultas por segundo (QPS) y la latencia en términos del percentil 95 (ms). Consulte nuestra sección Configuración comparativa debajo del informe de rendimiento para ver cómo se configuraron estas pruebas.

Rendimiento intensivo de lectura de MySQL

Las cargas de trabajo de lectura intensiva de MySQL son cargas de trabajo que normalmente están dominadas por operaciones de lectura, como SELECT. Por lo tanto, una carga de trabajo de lectura intensiva sería aquella que busca en la base de datos con más frecuencia en lugar de escribir en ella. Percona tiene una excelente publicación sobre cargas de trabajo de lectura intensiva frente a escritura intensiva donde puede obtener más información.

Echemos un vistazo al rendimiento y la latencia de ScaleGrid MySQL frente a Azure Database for MySQL:

Rendimiento

Hilos ScaleGrid Azul Mejora de ScaleGrid
25 5,299 1,689 214%
50 6,092 2302 165%
100 8429 2877 193%
150 9,011 2870 214%
175 7025 2805 151%
Como podemos ver en el gráfico anterior y en la tabla de rendimiento, ScaleGrid MySQL logra un rendimiento hasta 3 veces mayor en comparación con Azure Database para cargas de trabajo de lectura intensiva. Mientras que el rendimiento de Azure Database for MySQL es inferior a 3000 consultas por segundo en todos los escenarios de subprocesos, ScaleGrid tiene entre 5000 y 9000 consultas por segundo en todos los subprocesos.

Latencia

Hilos ScaleGrid Azul Mejora de ScaleGrid
25 258 451 -43%
50 101 670 -85%
100 148 978 -85%
150 309 1562 -80%
175 1089 1,678 -35%
Mientras que la latencia de Azure Database for MySQL aumenta rápidamente a medida que aumenta la cantidad de subprocesos, ScaleGrid MySQL logra una latencia baja constante en todos los conteos de subprocesos . De media, ScaleGrid para MySQL tiene un 66 % menos de latencia que Azure Database para MySQL para escenarios de carga de trabajo de lectura intensiva.

Reduzca la latencia de #MySQL en un 66 % en Azure, con un rendimiento hasta 3 veces mayorHaga clic para twittear

Rendimiento equilibrado de carga de trabajo de MySQL

Las cargas de trabajo equilibradas aprovechan cantidades aproximadamente iguales de operaciones de lectura y operaciones de escritura.

Rendimiento

Hilos ScaleGrid Azul Mejora de ScaleGrid
25 3806 1,748 118%
50 5,834 2437 139%
100 6365 2712 135%
150 5,724 2775 106%
175 6,206 1,767 251%
En promedio, ScaleGrid mejoró el rendimiento de MySQL en un 150 % en comparación con Azure Database para MySQL para cargas de trabajo equilibradas, y es más del doble de mejor en todo el número de subprocesos. Azure Database alcanzó un máximo de alrededor de 2775 consultas por segundo en 150 subprocesos, mientras que ScaleGrid logró 5724 consultas por segundo para la misma cantidad de subprocesos.

Latencia

Hilos ScaleGrid Azul Mejora de ScaleGrid
25 76 390 -81%
50 103 612 -83%
100 240 943 -75%
150 560 1590 -65%
175 560 2199 -75%
Observamos otra mejora espectacular en el rendimiento de latencia para cargas de trabajo equilibradas, donde las implementaciones de ScaleGrid MySQL pueden funcionar a menos de un tercio de la latencia en comparación con Azure Database para MySQL.

Rendimiento intensivo de escritura de MySQL

Mientras que las operaciones de lectura buscan en la base de datos, las operaciones de escritura son aquellas que guardan o modifican la base de datos, como las consultas INSERTAR, ACTUALIZAR o ELIMINAR. Las cargas de trabajo de escritura intensiva suelen ser más costosas que las cargas de trabajo de lectura intensiva, ya que las operaciones consumen más recursos. Comparemos el rendimiento y la latencia de ScaleGrid frente a Azure Database en cargas de trabajo de escritura intensiva de MySQL.

Rendimiento

Hilos ScaleGrid Azul Mejora de ScaleGrid
25 3327 826 303%
50 5003 1,154 334%
100 5,180 1,476 251%
150 4310 1,651 161%
175 4071 1,643 148%
En nuestro escenario de escritura intensiva, podemos ver la mayor mejora de rendimiento donde ScaleGrid logra hasta 4 veces mayor rendimiento en comparación con Azure Database . Esto es especialmente evidente en nuestros escenarios de subprocesos bajos, pero incluso con 175 subprocesos, ScaleGrid aún funciona 2,5 veces mejor que Azure Database.

Latencia

Hilos ScaleGrid Azul Mejora de ScaleGrid
25 76 277 -73%
50 101 383 -74%
100 298 996 -70%
150 760 1,740 -56%
175 1089 2009 -46%
ScaleGrid superó nuevamente a Azure Database con un promedio de 64 % menos de latencia en todos los subprocesos para cargas de trabajo de escritura intensiva.

Como podemos ver en los informes anteriores, ScaleGrid lo ayuda a aumentar significativamente su rendimiento y disminuir su latencia en las implementaciones de Azure Database para MySQL en cargas de trabajo equilibradas, de lectura y escritura intensivas. escenarios. Para obtener más información sobre cómo estos dos proveedores se comparan entre las funciones, consulte la página ScaleGrid vs. Azure Database MySQL.

Configuraciones comparativas

Echemos un vistazo a las configuraciones que usamos en la evaluación comparativa de rendimiento:

Comparación de configuraciones

Diseñamos la configuración usando los planes más comparables ofrecidos entre ScaleGrid y Azure Database. Solo hay diferencias menores y los costos son los mismos para los dos proveedores:

ScaleGrid MySQL en Azure Base de datos Azure para MySQL
Tipo de instancia Dedicado grande:Standard_Ds2_v2 2 núcleos Propósito general:2 núcleos
RAM 7GB 10 GB (memoria de 5 GB por núcleo virtual)
SSD 128 GB, disco SSD Premium, 500 IOPS 167 GB, hasta 500 IOPS
Tipo de implementación 2+1 Quórum con replicación semisincrónica +1 Leer réplica Replicación asíncrona
Región Este de EE. UU. Este de EE. UU.
Soporte Incluido Plan estándar ($100)
Precio mensual estimado $400 $400

Configuración de Sysbench

Configuración Detalles
Herramienta Sysbench versión 1.0.20
Host Standard_Ds2_v2
2 núcleos (2 vcpus, 7 GB de memoria) en la región Este de EE. UU.
# Tablas 100
# filas por tabla 2,000,000
Distribución de números aleatorios Especial

Configuración del servidor MySQL

Configuración Azure Scalegrid (Dedicado) Azure DB para MySQL
Versión de 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

Tenga en cuenta que en ScaleGrid, tiene opciones avanzadas para personalizar sus configuraciones de MySQL. Esto le permite personalizar su implementación según las necesidades de su aplicación y optimizar el rendimiento. Desafortunadamente, Azure Database no permite la personalización de algunos de los parámetros, por lo que está atascado con las configuraciones predeterminadas disponibles a través de su plataforma.

Por ejemplo, pudimos personalizar el tamaño del archivo de registro de InnoDB a 1 GB, mientras que para Azure Database, esto no se puede modificar y tiene un valor predeterminado de 268M. Obtenga más información sobre las limitaciones de Azure Database for MySQL.

Hay muchas otras ventajas de usar Scalegrid MySQL para Azure, vea la comparación completa en nuestra página ScaleGrid vs. Azure Database – MySQL Hosting.