Jakich techników używasz? Jak dowiesz się, które zlecenia najdłużej trwają? Czy istnieje sposób, aby dowiedzieć się, jakie uciążliwe aplikacje?Jaki jest najlepszy sposób na profilowanie bazy danych sqlserver 2005 dla wydajności?
Odpowiedz
Krok 1: Zainstaluj urządzenie SQL Server Performance Dashboard.
Krok 2: Zysk.
Poważnie, chcesz zacząć od spojrzenia na ten pulpit. Więcej na temat instalacji i korzystania z niego można znaleźć here i/lub
miałem dobre sukces na coraz bardziej z narzędziami Tuning Database świadczonych wewnątrz SSMS lub SQL Profiler podczas pracy na SQL Server 2000.
Najważniejsze jest, aby pracować z dobrym zestawem próbek, śledzić część prawdziwego obciążenia dla produkcji analsys, który dostanie najlepszy ogólny huk dla złotówki.
Używam kilku różnych technik.
Jeśli próbujesz zoptymalizować konkretne zapytanie, użyj Query Analyzer. Skorzystaj z dostępnych narzędzi, takich jak wyświetlanie planu wykonania itp.
W przypadku sytuacji, w której nie masz pewności, KTÓRE zapytanie działa wolno, jednym z najpotężniejszych narzędzi, z których możesz skorzystać, jest program SQL Profiler.
Wystarczy wybrać bazę danych, którą chcesz profilować i pozwolić jej działać.
Należy pozwolić mu działać przez odpowiedni czas (zależy to od ruchu w aplikacji), a następnie można zrzucić wyniki w tabeli i rozpocząć ich analizę.
Idziesz do zajrzeć do zapytań, które mają dużo czyta, albo zajmują dużo czasu procesora, itd
Optimization jest niedźwiedź, ale nie poddawać się w nim, a co najważniejsze, nie zakładaj, że wiesz, gdzie jest wąskie gardło, znajdź dowód, gdzie to jest i napraw to.
Używam SQL Profiler, który jest dostarczany z SQL Server. Większość źle działających zapytań, które znalazłem, nie zużywa dużo procesora, ale generuje masę IO dysku.
Mam tendencję do umieszczania filtrów na odczytach dysków i szukam zapytań, które mają tendencję do wykonywania ponad 20 000 odczytów. Następnie sprawdzam plan wykonania dla zapytań, które zazwyczaj dostarczają informacji potrzebnych do optymalizacji zapytania lub indeksów w powiązanych tabelach.
celu identyfikacji problematycznych zapytań uruchomić Profiler wybrać następujące zdarzenia:
- TSQL: BatchCompleted
- TSQL: StmtCompleted
- SP: Zakończony
- SP: StmtCompleted
filtr wyjście na przykład przez
- Czas trwania> x ms (na przykład 100 ms, zależy przede wszystkim od potrzeb i rodzaju systemu)
- centralne> y ms
- Odsłon> R
- Zapisuje> W
W zależności od tego, co chcesz zoptymalizować. Pamiętaj, aby filtrować dane wyjściowe na tyle, aby nie wyświetlać tysięcy datarów przewijających się przez okno, ponieważ wpłynie to na wydajność twojego serwera!
Pomocne w logowaniu wyników do tabeli bazy danych w celu późniejszej analizy. Pomocne może być również równoległe uruchamianie monitora systemu Windows w celu wyświetlenia obciążenia procesora, dysku i niektórych wskaźników wydajności serwera sql. Skonfiguruj sysmon, aby zapisać dane do pliku.
Niż trzeba produkować typowe obciążenie zapytań i dane wolumne w bazie danych, aby zobaczyć znaczące wartości z profilerem.
Po uzyskaniu danych wyjściowych z profilera można zatrzymać profilowanie.
Następnie ponownie załaduj przechowywane dane z tabeli profilowania do profilera i użyj importmenu, aby zaimportować dane wyjściowe z monitora systemowego, a profiler skoreluje dane wyjściowe sysmon z danymi profilera sql. To bardzo fajna funkcja.
W tym widoku można od razu zidentyfikować błędy związane z pamięcią, dyskiem lub systemem cpu.
Po zidentyfikowaniu niektórych zapytań, które chcesz omtymalizować, przejdź do analizatora zapytań i obejrzyj plan wykonania oraz spróbuj omówić użycie indeksu i projektowanie zapytań.
- 1. Jaki jest najlepszy sposób na próbkowanie/profilowanie aplikacji PyObjC?
- 2. Jaki jest najlepszy sposób na skopiowanie bazy danych?
- 3. Jaki jest najlepszy sposób konwertowania bazy danych mysql na sqlite?
- 4. Jaki jest najlepszy sposób inicjowania aktora z bazy danych?
- 5. Jaki jest najlepszy sposób przechowywania danych obszaru dla przygody tekstowej?
- 6. len() Vs długość danych() w sqlserver 2005
- 7. Jaki jest najlepszy sposób na zdiagnozowanie i profilowanie MySQL na serwerze produkcji na żywo?
- 8. Jaki jest najlepszy sposób na aktualizację (lub zamianę) całej tabeli bazy danych na uruchomionym komputerze?
- 9. Ustawianie i zerowanie DATEFORMAT w SQLServer 2005
- 10. jaki jest najlepszy sposób generowania fałszywych danych dla problemu klasyfikacji?
- 11. Jaki jest najlepszy sposób porównania 2 wariantów zapytania SQL dla wydajności?
- 12. Profilowanie wydajności shaderów OpenGL
- 13. Jaki jest najlepszy sposób na duplikowanie danych w szablonie django?
- 14. Jaki jest najlepszy sposób na naukę Erlanga?
- 15. Jaki jest najlepszy sposób zaprojektowania bazy danych dla Ruby on Rails?
- 16. Profilowanie wydajności asp.net, co to jest ProcessRequestNotificationHelper?
- 17. Jaki jest najlepszy sposób tworzenia wyszukiwania whois?
- 18. Testowanie wydajności/profilowanie JavaScript
- 19. Najlepszy sposób na zaprojektowanie tego scenariusza bazy danych?
- 20. Jaki jest najlepszy sposób rejestrowania aktywności użytkowników?
- 21. Najlepszy sposób przechowywania danych "ustawień witryny" w tabeli bazy danych?
- 22. Jaki jest najlepszy sposób na skopiowanie listy?
- 23. Jaki jest najlepszy sposób na seed srand()?
- 24. Jaki jest najlepszy sposób na naukę CUDA?
- 25. Jaki jest najlepszy sposób na wdrożenie "timera"?
- 26. Jaki jest najlepszy sposób na sformatowanie źródła LaTeX dla Kindle?
- 27. Jak uzyskać nazwę bazy danych sqlserver
- 28. Jaki jest najlepszy sposób na porównywanie programów w systemie Windows?
- 29. Profilowanie wydajności w systemie Linux
- 30. Jaki jest najlepszy sposób na wykrycie obecności SMO?
Dziękuję za odpowiedź, to SQL Server 2005 - ale wierzę, że kreator dostrajania baz danych wciąż istnieje (zaktualizowałem to pytanie). – digiguru
Tak, w takim przypadku skorzystaj z narzędzia Database Tuning Engine Advisor, dostępnego pod Narzędzia od SSMS! –