2012-07-04 6 views
5

Estoy usando RDS en Amazon con una interfaz MySQL. Mi aplicación se ejecuta en nodos EC2 y lee/actualiza la base de datos, pero la cantidad de lecturas y escrituras es demasiada y eso reduce el rendimiento. La mayoría de las veces, el número de conexiones supera el límite permitido. Estaba considerando usar Elasticache para mejorar el rendimiento, sin embargo, no encontré recursos en la web, cómo configurar la base de datos para usar esto de manera efectiva. ¿Es esta la mejor manera de mejorar mi rendimiento de lectura/escritura? ¿Alguna sugerencia?Uso de ElastiCache con RDS para mejorar el rendimiento de lectura/escritura

Respuesta

6

No puede simplemente "activar" Memcache. Necesita escribir código que interactúe con Memcache, de modo que los resultados de su consulta de base de datos estén en caché en Memcache. Echar un vistazo a esta guía de usuarios - Creo que le dará una buena idea de cómo se utiliza Memcache:

http://www.memcachier.com/documentation/memcache-user-guide/

0

rendimiento está relacionado con el tipo y estructura de las consultas utilizado, por lo que puede haber un poco de espacio para la optimización Tal vez pueda proporcionar más detalles sobre las consultas exactas utilizadas. Sin embargo, podría abordar esto desde un ángulo diferente: si tuviera una función de escalado automático, simplemente podría escalar su base de datos a máquinas adicionales si fuera necesario, para poder acomodar un número infinito de conexiones incluso sin ninguna optimización del rendimiento (por supuesto, si usted optimiza mejorará el rendimiento). Esto no es posible en RDS, pero hay al menos otros dos proveedores de BD en la nube que se ejecutan en EC2 que conozco y que ofrecen escalado automático: www.xeround.com y www.enterprisedb.com.

+0

www.xenround.com todavía está en fase beta. – spideringweb

0

Puede usar elasticache como caché de segundo nivel para su rds db. Si usa java, puede usar la lib de hibernate-memcached. Pero aún necesita configurar cómo y qué caché en la memoria caché de segundo nivel según sus datos.

Además, podría utilizar la réplica de lectura en RDS least para dividir el tráfico de lectura.

(¿Qué tipo de instancia está usando, que vimos que tienen diferente i/o capacidades?)

Cuestiones relacionadas