Ich suche nach einer Möglichkeit, Engpässe in SQL Server zu finden und es scheint, dass mehr als 32 GB RAM und mehr als 32 Spindeln auf 8 Kernen nicht genug sind. Gibt es Metriken, Best Practices oder HW-Vergleiche (d. H. Transaktionen pro Sekunde)? Unsere tägliche Schließung dauert Stunden und ich will es in Minuten oder in Echtzeit, wenn möglich. Ich konnte nicht mehr als 12k Zeilen/Sek. Zusammenführen. Für den Moment musste ich den Verkehr auf mehr als einen Server aufteilen, aber ist es eine richtige Lösung für ~ 50GB Datenbank? Zusammenführen ist in SP eingeschlossen und so einfach gehalten wie es sein kann - deduplizieren Sie die Eingabe, fügen Sie neue Zeilen ein, aktualisieren Sie vorhandene Zeilen. Ich habe festgestellt, dass je mehr Zeilen wir in einzelne zusammenführen, desto mehr Zeilen pro Sekunde erhalten wir. Der Anwendungsserver wird in mehreren Threads ausgeführt und verwendet den gesamten Speicher und Prozessor auf seinem dedizierten Server.SQL HW zu Performance-Verhältnis
Antwort
Folgen Sie einer Methode wie Waits and Queues, um die Engpässe zu identifizieren. Das ist genau, was für bestimmt ist. Sobald Sie den Engpass identifiziert haben, können Sie auch beurteilen, ob ein Hardwarebereitstellungs- und Kalibrierungsproblem vorliegt (und wenn ja, welche Hardware der Engpass ist), oder ob es sich um etwas anderes handelt.
Die Grundidee besteht darin, den wahlfreien Zugriff auf eine Festplatte beim Lesen und Schreiben zu vermeiden. Ohne eine Analyse durchzuführen, benötigt eine 50-GB-Datenbank mindestens 50 GB RAM. Dann müssen Sie sicherstellen, dass Indizes auf einer separaten Spindel von den Daten und den Transaktionsprotokollen sind, Sie schreiben so spät wie möglich und kritische Tabellen werden auf mehrere Spindeln aufgeteilt. Machst du das alles?
- 1. C++ HW Hilfe mit Stack
- 2. Setup Probleme mit dem hw Watchdog mit Systemd
- 3. Was sind die empfohlenen HW-Spezifikationen für Virtualisierungen?
- 4. HW KBD konnte nicht eingestellt werden (null) als Tastaturfokus ios
- 5. HW Zuordnung R von Grund auf für das Lernen
- 6. HW-beschleunigte MP3-Decodierung in Windows Mobile-s
- 7. hw Suche Teilzeichenfolge in einer Liste indizierter Zeichenfolgen?
- 8. Ist es möglich, einen HW-basierten Synthesizer für RTL zu erstellen?
- 9. Hw um die Flycheck-Warnung während der Bearbeitung von Emacs-Lisp-Skripten zu deaktivieren?
- 10. inkompatible Typen: mögliche verlustreiche Konvertierung von Double zu Int (High School hw)
- 11. Migrieren von SPROCS zu vorkompiliertem LINQ-zu-SQL-SQL?
- 12. Wird mit LINQ zu SQL helfen SQL-Injektion zu verhindern
- 13. Linq zu Sql hat keine unterstützte Übersetzung zu SQL
- 14. SQL Server 2008 zu SQL Server 2005
- 15. SQL zu Linq-to-SQL-Umwandlung
- 16. LINQ zu SQL OnLoaded() mit SQL View?
- 17. SQL-Tabelle zu MDB (SQL 2005)
- 18. Migrieren von SQL Azure zu SQL Server
- 19. SQL-Abfrage LINQ zu SQL gleichwertig
- 20. H.264 Muxing zu MP4 von CCTV (HW) Encoder mit ffmpeg Bibliothek in C/C++, wie AVCodecContext :: extradata
- 21. Übertragung von SQL-Jobs von SQL 2005 zu SQL 2008
- 22. UML zu SQL-Tool
- 23. Alternativen zu SQL-Cursor
- 24. Prolog zu SQL-Konverter
- 25. Erläuterung zu SQL-Tabelle
- 26. SQL-Zeilen zu Spalten
- 27. Linq zu SQL, Summierungszeit?
- 28. Linq zu SQL Teilupdate?
- 29. PHP zu SQL Anfrage
- 30. SQL Server zu MySQL
Random Access zu vermeiden ist eine Herausforderung. niemand weiß, welche Zeilen im nächsten Stapel aktualisiert werden. Die tatsächliche Situation ist ~ 30-40k merges (meist Updates) pro Sekunde und es reicht für jetzt und die nächsten paar Monate. – Pavel242