
Quero criar alta disponibilidade com replicação Master Slave (para consulta Select).
Eu estou querendo saber qual é melhor:
- Tendo escravos de recursos menores, mas mais servidores ou
- Ter escravos com recursos maiores, mas menos servidores
Eu só uso One Master para modificar consulta: (atualizar/inserir/excluir)
Responder1
Depende.
A coisa mais provável a ser ajustada no hardware é a RAM. Se você ajustar innodb_buffer_pool_size
cerca de 70% da RAM e isso for maior que o tamanho de todos os dados, haverá muito pouca E/S.
Se isso não for prático (ou muito caro), se o "tamanho do conjunto de trabalho" for pequeno o suficiente, você ainda obterá benefícios para esse cache.
Caso contrário, você precisará de alguns cavalos de potência de E/S.
Não se preocupe com a velocidade ou o número de núcleos da CPU. Esse raramente é o gargalo.
Use isso para descobrir quais consultas precisam mais de otimização: http://mysql.rjweb.org/doc.php/mysql_análise#slow_queries_and_slowlog
Adicione 2 réplicas baratas e veja seu desempenho e depois volte com mais alguns números para discutir.