Ich habe ein Konto in Amazon. Meine primäre MySql ist eine große Instanz. und ich habe andere 2 kleine Instanzen als Replikationsserver. Die Hierarchie ist Primary -> Slave 1-> Slave 2. Das Problem ist, dass Slave 1 und Slave 2 manchmal hohe CPU-Auslastung zeigen. Wir konnten den genauen Grund nicht herausfinden. Slave 1 fungiert als Slave der Primary und gleichzeitig fungiert er als Master of Slave 2. Wir haben viel gesucht, sind aber immer noch blind. Vielen Dank im Voraus für alle Hilfen.Mysql Replica Server CPU-Auslastung wurde hoch in EC2
Antwort
Wenn Sie die native asynchrone MySQL-Replikation verwenden (was RDS verwendet), müssen die Replikatserver in der Regel so groß sein wie der Master oder manchmal größer. Die Replikate erhalten "Replikationsereignisse" vom Master, die möglicherweise die tatsächlichen Abfragen enthalten, die Daten geändert haben - Einfügen, Aktualisieren, Löschen, aber nicht auswählen - dies ist "Anweisungsbasierte Replikation" - oder können Binärbilder der hinzugefügten Zeilen empfangen entfernt oder Änderungen auf dem Master - das ist "zeilenbasierte Replikation." Standardmäßig entscheidet der Master-Server Abfrage für Abfrage, welches Format zum Senden der Replikationsereignisse verwendet wird ("gemischt").
In allen Fällen SELECT
Aussagen sind nicht auf die Replikate gesendet (außer natürlich für INSERT ... SELECT
), aber sie tun, um gehandhabt ausreichende Kapazitäten müssen sowohl die eingehenden Änderungen vom Master sowie die SELECT
Abfragen, die direkt gegen ausgeführt werden das Replikat von Ihrer Anwendung. In RDS für MySQL 5.6 und höher können Sie binlog_format
auf ROW
setzen, um den Master zu zwingen, immer zeilenbasierte Replikation zu verwenden. Dies kann Ihre Leistung verbessern und ist möglicherweise nicht abhängig von der Auslastung. Sie können RDS nicht zwingen, nur den "Anweisungsmodus" zu verwenden, noch sollten Sie dies möchten.
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MySQL.html
Im Allgemeinen jedoch jedes Mal, wenn die Replik eine Maschine mit weniger Ressourcen als der Master ist, bleibt die Möglichkeit der Replikation erhöht. Die Verzögerung der Replikate kann in Cloudwatch überwacht werden.
Danke Michael. Ich hoffe, dass unser Problem darin besteht, dass unsere Sklaven weniger konfiguriert sind als der Meister. Ich habe auch einen Zweifel. Wie können wir feststellen, dass unser Slave eine statementbasierte Replikation oder eine zeilenbasierte Replikation ist? –
- 1. MongoDb Replica-Server wird wegen weniger Speicher getötet?
- 2. Wie lade ich eine Webanwendung auf Amazon EC2 hoch?
- 3. "Reset" Amazon EC2 Server
- 4. Mysql RAM-Nutzung ist hoch
- 5. Port-Backend erstellt in XAMPP zu AWS-Server (EC2)
- 6. So konfigurieren Sie Spring/Hibernate mit MySQL Read-Replica
- 7. Mongo Replica interne SSL-Problem
- 8. AWS EC2 Ubuntu Server Berechtigungsproblem
- 9. getenv funktioniert nicht in EC2 Server
- 10. mongodb replica set master "stateStr": "ENTFERNT"
- 11. Amazon EC2 MySQL konnte nicht gestartet werden
- 12. Wie erreichen Sie eine starke Konsistenz in MongoDB Replica Sets?
- 13. Wie httpd.conf in Amazon EC2
- 14. MySQL auf EC2/EBS. Zu langsam?
- 15. EC2 Linux-Instanz PHPInfo zeigt nicht mysql
- 16. Amazon RDS Read Replica in der gleichen Region, verschiedene VPC
- 17. wie Code Bitbucket zu amaozn EC2 Server
- 18. MariaDB/MySQL Ressourcenlimit wurde überschritten
- 19. "Replica Sets" beim Aktualisieren von Bereitstellungen bereinigen?
- 20. Ausführen von SQL Server auf EC2
- 21. Beste EC2-Einrichtung für Redis-Server
- 22. Hostgator Dedicated Server zu Amazon ec2
- 23. http-Server auf Amazon EC2 starten
- 24. Wie wird der EC2 Server geladen?
- 25. Verbindungsprobleme mit EC2 Windows-Server über NAT-Server
- 26. Wie man den Server auf dem EC2 laufen lässt, nachdem ssh beendet wurde
- 27. MySQL-Datenbank hoch, aber einige Tabellen nicht aktualisieren
- 28. Wie hoch ist die maximale Anzahl angehängter Volumes pro Amazon EC2-Instanz?
- 29. SSL-Langsamkeit in EC2
- 30. In Bezug auf EC2 + MySQL vs. RDS für Wordpress
mysql Replikationsmethode wird die CRUD innerhalb Slave-Server erneut ausgeführt. Es handelt sich nicht um eine direkte Datensynchronisierung. Stellen Sie sich vor, Sie haben eine hohe CRUD-Aktivität im Master-Server. – mootmoot
Danke mein Freund, ich habe noch einen Zweifel, werden die Leseoperationen im Slave-Server erneut ausgeführt ?. –