Gibt es irgendwelche Werkzeuge oder einen richtigen Weg, um mehr als 2000 Anfragen (Meistens Schreibanforderung) pro Sekunde an MySQL-Datenbank zu behandeln? Ohne quuelimit zu erreichen.Behandlung von mehr als 2000 Anfragen auf mysql?
Antwort
Es gibt verschiedene Möglichkeiten, eine große Anzahl von Anfragen an eine MySQL-Datenbank (oder eine andere relationale/RDB-Datenbank) zu bearbeiten. Beginnend mit wachsendem Datenverkehr können Sie eine Replikation verwenden, die es zusätzlichen Maschinen ermöglicht, schreibgeschützt (keine INSERTs, UPDATEs, DELETEs usw.) von einer Maschine zu senden und nur auf eine einzelne "Master" -Maschine zu schreiben (die gelesenen Repliken kopieren die geschriebene Daten von der Master- oder Write-Allowed-Instanz, können jedoch geringfügig hinter den neuesten Daten liegen, die für eine kurze Zeit geschrieben wurden. Oracle (Besitzer des MySQL-Projekts) hat einen guten Artikel darüber (und Skalierung PHP) hier: http://www.oracle.com/technetwork/articles/dsl/white-php-part1-355135.html
Sobald Ihre App beginnt Anfragen auf einer wirklich massiven Skala (wie Facebook, Google, etc. Ebene) Sie werden Andere Strategien wie Clustering, NoSQL-Nutzung (für bestimmte Funktionen wie Suche, Analyse, Protokollierung, Überwachung usw.), Aufteilen von Tabellen und Datenbanken basierend auf geografischen Regionen (falls sinnvoll). Es gibt ein Starter Whitepaper hier: https://www.mysql.com/why-mysql/white-papers/guide-to-scaling-web-databases-with-mysql-cluster/
Sie können auch generische Suchen nach "Skalierung MySQL" durchführen, die noch mehr Ergebnisse liefern.
MariaDB 10+ wird mit Galera Cluster geliefert, mit dem Sie mehrere MASTER-Server verwenden können und das Konto entweder per IP oder über ein Gerät laden können.
Auch die Anzahl oder Anforderungen/Sekunde sind davon abhängig, wie schnell ein Schreibvorgang abgeschlossen ist. Wenn Sie über ein einfaches atomares Raw-Schreiben verfügen, können Sie INDEXES in der empfangenden Tabelle deaktivieren, sodass es so schnell ist, wie Ihr Server es verarbeiten kann. Diese rohe Tabelle kann von MyISAM und nicht von InnoDB. Das ist normalerweise bis zu 10x schneller bei Schreibvorgängen. Lassen Sie einen anderen Prozess die unverarbeiteten Daten in einer anderen Tabelle mit geeigneten Indizes lesen. Wir hatten Erfolg mit bis zu 10K Transaktionen/Sekunde auf diese Weise
- 1. Express JS, mehr als 2000 Anfragen wirft "CONNECTION REFUSED" Fehler
- 2. Flex RemoteObject - Behandlung mehrerer Anfragen
- 3. Behandlung mehrerer Anfragen auf einer einzigen Ressource
- 4. Behandlung von Ajax-Anfragen mit PhantomJS
- 5. Behandlung von Postbenachrichtigungen, die mehr als 20 Sekunden dauern können
- 6. Mysql Behandlung Spalte als Regex für Select
- 7. Behandlung von https-Anfragen ohne API Gateway
- 8. MySQL Behandlung von GROUP BY. ONLY_FULL_GROUP_BY Fehler
- 9. Mysql mehr Anfragen auf einzelner PHP-Seite zusammenzufassen einzelne Tabellen
- 10. Behandlung von Authentifizierungsfehlern als Antwort
- 11. Node.js Anfrage - Behandlung mehrerer POST-Anfragen
- 12. Behandlung von NSString als Arraypointerarithmetik
- 13. Mysql von mehr als 2 Reihen wählen
- 14. MySQL Query, wählen mehr als
- 15. Multithreading zur Behandlung mehrerer eingehende Anfragen
- 16. Angular2 + ngrx/store für die Behandlung von Fehlern HTTP-Anfragen
- 17. Behandlung von CORS für Subdomain Ajax Anfragen in Rack
- 18. Besserer Ansatz für Iteration von Array mit einer Länge von mehr als 2000 in js
- 19. Alternative für die Behandlung von Anfragen mit Switch-Anweisung
- 20. Behandlung von gezippten Anfragen in einer Spring Boot REST Applikation
- 21. Behandlung mehrerer Befehle als Transaktion
- 22. NGINX Behandlung von JSON POST-Anfragen zur Übergabe an Python Flask Container auf Kubernetes
- 23. Fehlerüberwachung/-behandlung auf Webservern
- 24. Gracefully Behandlung "MySQL ist weggegangen"
- 25. PHP MYSQL - Distinct mehr Spalten als ein
- 26. Wildfly Behandlung von Concurrency Management als Transaktions
- 27. MySQL-Auswahl basierend auf mehr als einer Zählung
- 28. Beitreten mehr als 2 Tabellen basierend auf Wert in Mysql
- 29. MySql Join mehr als 2 Tabellen?
- 30. Twitter api - nicht mehr als 150 Anfragen pro Stunde