
Ich möchte eine hohe Verfügbarkeit mit Master-Slave-Replikation erstellen (für Select-Abfrage).
Ich frage mich, welches besser ist:
- Mit kleineren Ressourcen-Slaves, aber mehr Servern oder
- Größere Ressourcen-Slaves, aber weniger Server
Ich verwende One Master nur für Änderungsabfragen: (Aktualisieren / Einfügen / Löschen)
Antwort1
Es kommt darauf an.
Am wahrscheinlichsten ist es, den RAM in der Hardware anzupassen. Wenn Sie innodb_buffer_pool_size
den RAM auf etwa 70 % einstellen und das größer ist als die Größe aller Daten, wird es sehr wenig I/O geben.
Wenn dies nicht praktikabel (oder zu teuer) ist, können Sie dennoch von diesem Cache profitieren, sofern die „Arbeitssatzgröße“ klein genug ist.
Andernfalls benötigen Sie einige E/A-Leistung.
Machen Sie sich keine Sorgen über die Geschwindigkeit oder die Anzahl der CPU-Kerne. Das ist selten der Engpass.
Nutzen Sie dies, um herauszufinden, bei welchen Abfragen der Optimierungsbedarf am größten ist: http://mysql.rjweb.org/doc.php/mysql_analysis#slow_queries_and_slowlog
Fügen Sie zwei günstige Repliken hinzu und sehen Sie, wie gut sie funktionieren. Kommen Sie dann mit weiteren Zahlen zur Diskussion zurück.