Este tema describe los resultados de las pruebas de rendimiento de instancias de ApsaraDB RDS de uso general que ejecutan MySQL 8.0.
Para simular mejor el entorno de producción, se utiliza la métrica Reads/Writes en esta prueba de estrés.
Los resultados de las pruebas de rendimiento son solo de referencia. Para obtener más información sobre cómo usar una instancia de ApsaraDB RDS que ejecuta MySQL 8.0, consulte Troubleshoot slow SQL statements on an ApsaraDB RDS for MySQL instance.
En algunos escenarios empresariales, el rendimiento de las instancias de ApsaraDB RDS que ejecutan MySQL 5.7 puede ser superior al de las instancias que ejecutan MySQL 8.0.
Entorno de prueba
En esta prueba de estrés se utiliza SysBench para evaluar el rendimiento de cinco instancias de RDS que usan discos SSD locales premium. Estas instancias de RDS utilizan distintos tipos de instancia.
Tipos de instancia: rds.mysql.t1.small, rds.mysql.s2.large, rds.mysql.m1.medium, rds.mysql.c1.xlarge y rds.mysql.c2.xlarge
Familia de instancias: uso general
Edición de RDS: RDS High-availability Edition
Tipo de almacenamiento: disco SSD local premium
Configuraciones
El rendimiento se ve afectado significativamente por el volumen de datos, la duración de la prueba de estrés y la configuración de parámetros. A continuación se detallan las configuraciones utilizadas en esta prueba de estrés:
Volumen de datos: el volumen de datos y el número de tablas en cada instancia de RDS que se va a probar son diferentes. Por lo tanto, los resultados de algunas instancias de RDS pueden ser similares.
Duración de la prueba de estrés: la duración es de 60 segundos para todas las instancias de RDS.
-
Configuración de parámetros:
sync_binlog=1yinnodb_flush_log_at_trx_commit=1: asegúrese de que los datos enviados en cada transacción se escriban completamente en los discos.rpl_semi_sync_master_enabled=ON: habilita el modo semisincrónico en una instancia de RDS para garantizar la consistencia de datos entre las instancias de RDS principal y secundaria.-
Performance_schema=ON: habilita automáticamente Performance Schema en una instancia de RDS cuyo tipo de instancia tiene un tamaño de memoria mayor o igual a 8 GB.NotaEstas configuraciones de parámetros están incluidas en la plantilla de parámetros estándar de ApsaraDB RDS for MySQL. Si se aplica la plantilla de parámetros estándar a todas las instancias de RDS, se maximiza la consistencia de los datos y el entorno de prueba se asemeja más al entorno de producción.
Resultados de la prueba
Se pueden utilizar dos tipos de consultas para realizar pruebas de estrés. Determine el tipo de prueba de estrés según su volumen de datos.
Prueba de estrés para consultas basadas en caché: este tipo de prueba es adecuado para escenarios con un volumen pequeño de datos. Es posible almacenar todos los datos en el pool de búferes de InnoDB para su acceso. Para obtener más información sobre cómo cambiar el tamaño del pool de búferes de InnoDB, consulte Change the size of the InnoDB buffer pool.
Prueba de estrés para consultas basadas en E/S de disco: este tipo de prueba es adecuado para escenarios con un gran volumen de datos. Solo se pueden almacenar los datos de uso más frecuente en el pool de búferes de InnoDB para su acceso. Durante la prueba de estrés, los datos se leen desde los discos o se escriben en ellos, y se actualiza el pool de búferes de InnoDB.
Tipo 1: Prueba de estrés para consultas basadas en caché

|
Especificación (tipo de instancia) |
Volumen de datos en una sola tabla |
Número de tablas |
Número máximo de conexiones |
IOPS |
Número de hilos de SysBench |
Número de lecturas de SysBench |
Número de escrituras de SysBench |
|
1 núcleo, 1 GB (rds.mysql.t1.small) |
25,000 |
32 |
300 |
600 |
8 |
432,922 |
123,692 |
|
2 núcleos, 4 GB (rds.mysql.s2.large) |
25,000 |
32 |
1,200 |
2,000 |
8 |
599,606 |
171,316 |
|
4 núcleos, 16 GB (rds.mysql.m1.medium) |
25,000 |
128 |
4,000 |
7,000 |
16 |
1,567,132 |
447,752 |
|
8 núcleos, 32 GB (rds.mysql.c1.xlarge) |
25,000 |
128 |
8,000 |
12,000 |
32 |
2,923,130 |
835,180 |
|
16 núcleos, 64 GB (rds.mysql.c2.xlarge) |
25,000 |
128 |
16,000 |
14,000 |
64 |
5,661,264 |
1,617,504 |
Tipo 2: Prueba de estrés para consultas basadas en E/S de disco

|
Especificación (tipo de instancia) |
Volumen de datos en una sola tabla |
Número de tablas |
Número máximo de conexiones |
IOPS |
Número de hilos de SysBench |
Número de lecturas de SysBench |
Número de escrituras de SysBench |
|
1 núcleo, 1 GB (rds.mysql.t1.small) |
80,000 |
32 |
300 |
600 |
8 |
374,584 |
107,024 |
|
2 núcleos, 4 GB (rds.mysql.s2.large) |
80,000 |
32 |
1,200 |
2,000 |
8 |
439418 |
125548 |
|
4 núcleos, 16 GB (rds.mysql.m1.medium) |
800,000 |
128 |
4,000 |
7,000 |
16 |
851,326 |
243,236 |
|
8 núcleos, 32 GB (rds.mysql.c1.xlarge) |
800,000 |
128 |
8,000 |
12,000 |
32 |
2,384,256 |
681,216 |
|
16 núcleos, 64 GB (rds.mysql.c2.xlarge) |
800,000 |
128 |
16,000 |
14,000 |
64 |
4,584,090 |
1,309,740 |