Este tema describe los resultados de las pruebas de rendimiento de las instancias de uso general de ApsaraDB RDS que ejecutan MySQL 5.7.
Para simular mejor el entorno de producción, en esta prueba de estrés se utiliza la métrica Reads/Writes.
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 5.7, consulte Troubleshoot slow SQL statements on an ApsaraDB RDS for MySQL instance.
Entorno de prueba
En esta prueba de estrés se usa SysBench para evaluar el rendimiento de cinco instancias de RDS con discos locales. 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 local
Configuraciones
El volumen de datos, la duración de la prueba de estrés y la configuración de parámetros afectan de manera significativa el rendimiento. A continuación se muestran las configuraciones utilizadas en esta prueba de estrés:
Volumen de datos: el volumen de datos y la cantidad de tablas varían en cada instancia de RDS que se evalúa. Por lo tanto, los resultados de algunas instancias pueden ser similares.
Duración de la prueba de estrés: 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 cada vez se escriban por completo en los discos.rpl_semi_sync_master_enabled=ON: habilita el modo semisincrónico en una instancia de RDS para garantizar la coherencia de los datos entre las instancias principal y secundaria.-
Performance_schema=ON: habilita automáticamente Performance Schema en una instancia de RDS cuyo tipo 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 aplica dicha plantilla a todas las instancias de RDS, se maximiza la coherencia de los datos y el entorno de prueba se asemeja más al de producción.
Resultado de la prueba
Existen dos tipos de consultas para ejecutar pruebas de estrés. Seleccione el tipo adecuado según su volumen de datos.
Prueba de estrés para consultas basadas en caché: recomendada cuando se manejan pocos datos. Permite almacenar toda la información en el pool de búferes de InnoDB para acceder a ella. Para obtener más información sobre cómo modificar 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: indicada para escenarios con grandes volúmenes de datos. En este caso, solo los datos de uso frecuente se almacenan en el pool de búferes de InnoDB. Durante la prueba, la información se lee o se escribe en los discos y el pool de búferes de InnoDB se actualiza.
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 subprocesos 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 |
539,252 |
154,072 |
|
2 núcleos, 4 GB (rds.mysql.s2.large) |
25,000 |
32 |
1,200 |
2,000 |
8 |
1,145,200 |
327,200 |
|
4 núcleos, 16 GB (rds.mysql.m1.medium) |
25,000 |
128 |
4,000 |
7,000 |
16 |
2,224,362 |
635,532 |
|
8 núcleos, 32 GB (rds.mysql.c1.xlarge) |
25,000 |
128 |
8,000 |
12,000 |
32 |
3,747,898 |
1,070,828 |
|
16 núcleos, 64 GB (rds.mysql.c2.xlarge) |
25,000 |
128 |
16,000 |
14,000 |
64 |
6,779,248 |
1,936,928 |
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 subprocesos 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 |
412,356 |
117,816 |
|
2 núcleos, 4 GB (rds.mysql.s2.large) |
80,000 |
32 |
1,200 |
2,000 |
8 |
1,074,525 |
307,036 |
|
4 núcleos, 16 GB (rds.mysql.m1.medium) |
800,000 |
128 |
4,000 |
7,000 |
16 |
1,645,154 |
470,044 |
|
8 núcleos, 32 GB (rds.mysql.c1.xlarge) |
800,000 |
128 |
8,000 |
12,000 |
32 |
3,283,966 |
938,276 |
|
16 núcleos, 64 GB (rds.mysql.c2.xlarge) |
800,000 |
128 |
16,000 |
14,000 |
64 |
6,233,850 |
1,781,100 |