Todos los productos
Search
Centro de documentos

PolarDB:Envío de registros basado en RDMA

Última actualización: Sep 05, 2026

De forma predeterminada, PolarDB for MySQL sincroniza los registros redo entre nodos mediante almacenamiento compartido o TCP. Este mecanismo se convierte en un cuello de botella bajo cargas de escritura intensivas y degrada la consistencia de los nodos de solo lectura. El envío de registros basado en Remote Direct Memory Access (RDMA) reemplaza esta ruta con una transferencia directa de memoria a memoria, lo que evita el uso de TCP y del CPU receptor. En comparación con los métodos predeterminados, el envío de registros basado en RDMA mejora el rendimiento de transferencia en un 100 % y reduce la latencia de replicación en más de un 50 %.

Funcionamiento

El envío de registros basado en RDMA sustituye la sincronización por almacenamiento compartido y TCP con escrituras directas de memoria entre nodos. Los métodos tradicionales requieren que los CPU del emisor y del receptor participen en operaciones bidireccionales. En cambio, RDMA utiliza operaciones READ/WRITE unidireccionales: el nodo primario escribe directamente en la memoria del nodo de solo lectura remoto mediante una dirección y una clave remotas, sin involucrar al CPU receptor. Por lo tanto, RDMA no consume recursos de cómputo del nodo de solo lectura, incluso bajo una alta presión de escritura.

El flujo de transferencia de registros funciona de la siguiente manera:

  • El búfer de registros redo de un nodo de solo lectura actúa como una imagen remota del búfer de registros redo del nodo primario.

  • Antes de vaciar el búfer de registros al disco, el nodo primario escribe de forma asíncrona el registro redo en el búfer del nodo de solo lectura remoto y sincroniza el desplazamiento.

  • El nodo de solo lectura lee desde su búfer local en lugar de obtener los registros redo del almacenamiento compartido, lo que acelera la replicación.

Límites

  • El clúster debe ejecutar PolarDB for MySQL 8.0.1 con la versión de revisión 8.0.1.1.33 o posterior.

  • No es posible habilitar el envío de registros basado en RDMA para un clúster secundario en una Global Database Network (GDN).

Habilitar el envío de registros basado en RDMA

Establezca el parámetro loose_innodb_polar_log_rdma_transfer para habilitar esta función.

Parámetro

Nivel

Descripción

loose_innodb_polar_log_rdma_transfer

Global

Habilita o deshabilita el envío de registros basado en RDMA. Valores válidos: ON, OFF (predeterminado).

Rendimiento

Latencia de replicación

El envío de registros basado en RDMA reduce de manera significativa la latencia de replicación de los nodos de solo lectura en escenarios con muchas escrituras. Dado que RDMA evita el uso del CPU receptor, la latencia se mantiene baja aunque aumente la presión de escritura. Esto contrasta con la replicación basada en TCP, la cual compite por los recursos de cómputo con las cargas de trabajo.

La prueba a continuación utiliza un clúster de PolarDB for MySQL 8.0 con 32 núcleos de CPU y 128 GB de memoria, además de 20 tablas con 2 millones de filas cada una. Esta medición evalúa la latencia de replicación conforme aumentan las tasas de escritura redo, con el envío de registros basado en RDMA habilitado y deshabilitado.

image..png

A medida que aumenta la tasa de escritura redo, habilitar el envío de registros basado en RDMA mantiene la latencia de replicación mucho más baja que los métodos predeterminados.

Rendimiento de Strict Consistency Cluster (SCC)

Cuando se habilita la consistencia global (modo de alto rendimiento), la latencia de replicación de los nodos de solo lectura afecta directamente el rendimiento general del clúster. Reducir esta latencia mediante RDMA, sin consumir recursos del CPU receptor, mejora el rendimiento de Strict Consistency Cluster (SCC), sobre todo bajo una alta presión de escritura.

La prueba a continuación utiliza un clúster de PolarDB for MySQL 8.0 con 8 núcleos de CPU y 32 GB de memoria, además de 20 tablas con 2 millones de filas cada una. Esta evaluación mide el rendimiento de SCC con distintas cantidades de hilos, con el envío de registros basado en RDMA habilitado y deshabilitado.

image..png

Habilitar el envío de registros basado en RDMA mejora el rendimiento de SCC en aproximadamente un 20 %.