
Quiero crear alta disponibilidad con replicación maestro-esclavo (para consulta de selección).
Me pregunto cuál es mejor:
- Tener esclavos de recursos más pequeños pero más servidores o
- Tener esclavos de recursos más grandes pero menos servidores.
Solo uso One Master para modificar consultas: (actualizar/insertar/eliminar)
Respuesta1
Eso depende.
Lo más probable que se ajuste en hardware es la RAM. Si sintoniza innodb_buffer_pool_size
aproximadamente el 70% de la RAM y eso es mayor que el tamaño de todos los datos, entonces habrá muy poca E/S.
Si eso no es práctico (o es demasiado costoso), entonces si el "tamaño del conjunto de trabajo" es lo suficientemente pequeño, aún obtendrá beneficios por ese caché.
De lo contrario, necesitará algunos caballos de fuerza de E/S.
No te preocupes por la velocidad o la cantidad de núcleos de CPU. Rara vez ese es el cuello de botella.
Utilice esto para descubrir qué consultas son las que más necesitan optimización: http://mysql.rjweb.org/doc.php/mysql_analysis#slow_queries_and_slowlog
Agregue 2 réplicas baratas y vea qué tan bien funcionan, luego regrese con más números para discutir.