«`html
Pruebas de Rendimiento de Lectura y Escritura en PolarDB GDN
En este artículo, exploraremos cómo realizar pruebas de rendimiento de lectura y escritura en la Global Database Network (GDN) de PolarDB para MySQL, utilizando la herramienta de benchmark Sysbench. Este proceso es crucial para evaluar el rendimiento de bases de datos distribuidas a través de diferentes regiones, asegurando una respuesta rápida y eficiente en aplicaciones críticas.
Herramienta de Prueba: Sysbench
Sysbench es una herramienta modular y multiplataforma, ideal para evaluar el rendimiento de sistemas de bases de datos bajo carga. Permite realizar pruebas sin la necesidad de configuraciones complejas, facilitando la medición de métricas clave como el número de transacciones por segundo (TPS) y las consultas por segundo (QPS).
Conectarse al Entorno de Prueba del Cluster Primario
En nuestras pruebas, utilizamos instancias de Elastic Compute Service (ECS) para configurar el entorno de prueba. La configuración de los clusters incluye:
- Cluster Primario: Nodo en Hong Kong con 4 núcleos y 8 GB de memoria.
- Cluster Secundario: Nodo en Silicon Valley con especificaciones similares.
- Dirección del Endpoint: IP privada del cluster primario.
Un vistazo a las especificaciones del entorno de prueba revela un balance adecuado entre recursos y capacidades, permitiendo realizar pruebas representativas.
Métricas Clave para Evaluar el Rendimiento
- Transacciones por segundo (TPS): Número de transacciones completadas en un segundo.
- Consultas por segundo (QPS): Total de sentencias SQL ejecutadas por segundo, incluyendo INSERT, SELECT, UPDATE y DELETE.
Instalación de Sysbench
Para llevar a cabo nuestras pruebas, primero instalamos Sysbench en la instancia ECS con los siguientes comandos:
yum install gcc gcc-c++ autoconf automake make libtool bzr mysql-devel git mysql git clone https://github.com/akopytov/sysbench.git cd sysbench ./autogen.sh ./configure --prefix=/usr --mandir=/usr/share/man make make install
Paso 1: Crear una Base de Datos en el Cluster Primario
Una vez instalado Sysbench, conectamos al cluster primario y creamos una base de datos para realizar las pruebas:
mysql -h xxxxxxxx.aliyuncs.com -P 3306 -u xxxxx -p
Paso 2: Preparar Datos Usando Sysbench
Con Sysbench configurado, procedemos a cargar datos en el cluster:
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=250 --events=0 --time=600 oltp_read_only prepare
Paso 3: Probar el Rendimiento de Lectura
Realizamos la prueba de rendimiento de lectura ejecutando:
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=250 --events=0 --time=600 --threads=XXX --percentile=95 --range_selects=0 --skip-trx=1 --report-interval=1 oltp_read_only run
Los resultados mostraron un QPS de 15598,40 y un tiempo de respuesta de 6,43 ms.
Paso 4: Probar el Rendimiento de Escritura
De manera similar, probamos el rendimiento de escritura con el siguiente comando:
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=250 --events=0 --time=600 --threads=XXX --percentile=95 --report-interval=1 oltp_write_only run
Los resultados indicaron un TPS de 2287,84 y un tiempo de respuesta de 4,1 ms.
Conectar al Entorno de Prueba del Cluster Secundario
Las pruebas del cluster secundario se llevaron a cabo de manera similar, utilizando un nodo en Silicon Valley. Aquí, los resultados de las pruebas de rendimiento de lectura y escritura fueron significativamente diferentes, reflejando las variaciones geográficas y de red.
Esto es fundamental para entender cómo las aplicaciones distribuidas deben ser optimizadas para ofrecer un rendimiento constante a través de diferentes regiones.
Resultados Finales de las Pruebas
Los resultados de las pruebas simultáneas mostraron un QPS de 75473,06 y un TPS de 33,02, lo que demuestra que PolarDB GDN es capaz de manejar cargas de trabajo significativas incluso en condiciones adversas.
Estas pruebas ayudan a los desarrolladores y arquitectos de bases de datos a tomar decisiones informadas sobre la infraestructura de sus aplicaciones, garantizando un rendimiento óptimo.
Para más información, puedes consultar el artículo original en Alibaba Cloud Blog.
«`