es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

AWS RDS proxy funciona mal con el punto de conexión de solo lectura.

Tengo un clúster de AWS RDS aurora con un par de réplicas de lectura. Utilizo una instancia de RDS proxy para conectarme a la base de datos y garantizar alta disponibilidad.

Para probar el rendimiento de conmutación por error, escribí una aplicación sencilla que constantemente hace ping a la base de datos en un bucle. Luego, desencadené una conmutación por error en la base de datos a través de aws-cli/web-console mientras la aplicación se ejecutaba. La aplicación registra el tiempo que tarda en recuperar la conexión después de un ping fallido.

En comparación con una conexión directa al punto de conexión del escritor del clúster de aurora, el punto de conexión del escritor de RDS proxy siempre se comporta bien. (mis observaciones coinciden con los resultados mostrados en la publicación de blog de AWS).

Sin embargo, en comparación con una conexión directa al punto de conexión del lector del clúster de aurora, el punto de conexión de solo lectura de RDS proxy funciona mal. Es decir, si solo necesita una conexión de solo lectura a la base de datos, no debe utilizar el proxy, en su lugar, debe conectarse directamente al punto de conexión del lector del clúster.

Después de muchas pruebas, sigo viendo los mismos resultados. ¿Alguien puede explicar por qué se comporta así? ¿Es el proxy de AWS RDS solo adecuado para conexiones de base de datos de lectura y escritura?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    AWS RDS Aurora Cluster con réplicas de lectura y RDS Proxy

    Tengo un clúster de AWS RDS Aurora con réplicas de lectura y estoy utilizando una instancia de RDS proxy para conectarme a la base de datos y garantizar alta disponibilidad.

    Prueba de rendimiento de failover

    Para probar el rendimiento del failover, escribí una aplicación simple que constantemente hace ping a la base de datos en un bucle. Luego, desencadeno un failover de la base de datos a través de la CLI/web-console de AWS mientras la aplicación está en ejecución. La aplicación registra el tiempo que tardó en recuperar la conexión después de un ping fallido.

    Rendimiento de RDS Proxy

    Cuando se compara con una conexión directa al punto de conexión de escritura del clúster de Aurora, el punto de conexión de escritura de RDS proxy tiene un rendimiento constante. (mis observaciones coinciden con los resultados mostrados en la publicación del blog de AWS).

    Sin embargo, cuando se compara con una conexión directa al punto de conexión de lectura del clúster de Aurora, el punto de conexión de sólo lectura de RDS proxy tiene un mal rendimiento. Es decir, si solo necesitas una conexión de solo lectura a la base de datos, no debes usar el proxy. En su lugar, debes conectarte directamente al punto de conexión de lectura del clúster.

    Explicación

    Después de realizar muchas pruebas, los resultados muestran consistentemente que el punto de conexión de sólo lectura de RDS proxy tiene un mal rendimiento en comparación con una conexión directa de solo lectura al clúster de Aurora. Esto puede ser porque el RDS proxy fue diseñado principalmente para conexiones de lectura-escritura y las conexiones de solo lectura pueden no estar tan optimizadas.

    Por lo tanto, si tu aplicación solo requiere conexiones de solo lectura, debes evitar el uso de RDS proxy y conectarte directamente al punto de conexión de lectura del clúster. Sin embargo, si tu aplicación requiere conexiones de lectura-escritura, RDS proxy puede proporcionar un mejor rendimiento y alta disponibilidad.

Comments are closed.