Bueno, les cuento que estuve experimentando con ProxySQL en alguno de nuestros sitios web, y si bien por el momento sólo me limité a instalar y configurar el proxy para que el sitio web use la base de datos a través de él, los resultados parecen estar siendo interesantes.
ProxySQL corre como un servicio sobre el linux de nuestro servidor. Atiende en dos puertos: uno para su administración, y otro para dar el servicio de proxy de bd propiamente dicho.
Tanto la administración, como el servicio de proxy, se pueden acceder mendiante el mismo cliente MySQL. Tan solo hace falta indicar a qué puerto nos queremos conectar (administración o producción), y luego hacemos uso de las mismas sentencias MySQL.
Desde la administración se definen los servidores MySQL de backend (en nuestro caso sólo 1), así como los usuarios que podrán acceder. También se puede definir qué patrón de sentencias SQL se desea cachear. Tengamos en cuenta que MySQL 8 ya no soporta el Query Caché, y nos empuja a utilizar una solución externa (como ProxySQL) para solventarlo.
Una de las cosas prometedoras de este proxy, es que permite contar con varios slaves de MySQL en balance, para la distribución de carga de las consultas.
En los próximos días estaremos tratando de sacar provecho al caché para ver qué tanto se mejora el rendimiento. Ya me dirán si desean que actualicemos este post con los datos que vayamos obteniendo.
Un saludo!