Temat: Wydajność bazy

Głównie rozchodzi mi się o MS SQL Server, ale jeśli ktoś zna odpowiedzi na moje pytania w przypadku innych baz to też jestem zainteresowany:
1. Czy można w jakiś sposób przeprowadzić symulację na bazie danych polegającą na tym, że duża liczba użytkownikó przesyła w tym samym czasie zapytania do bazy?
2. Jeśli jest do tego jakieś oprogramowanie to jak się nazywa?
3. Jak zwiększyć wydajność bazy rozumianą jako obsługa dużej liczby różnych zapytań od bardzo wielu użytkowników w tym samym czasie?

konto usunięte

Temat: Wydajność bazy

puść czasem sp_updatestats, baza dostanie skrzydeł :)

konto usunięte

Temat: Wydajność bazy

Zajrzyj do artykułu:

M.Widera, A.Domanski, P.Delijewski: Zastosowanie metody pomiaru czasu realizacji zapytań w analizie systemu zarządzania danymi, BDAS 2007

Jeśli jeszcze go nie ma na stronie bdas.pl, poproś organizatorów o udostępnienie. Powinni udostępnić.

Pozdrawiam,
Michał Widera

PS. Trochę info znajdziesz też na http://www.tpc.org/

PPS. A ha - wyników prowadzonych na bazach komercyjnych (takich jak MSSQL) nie można publikować - bo tak stanowi umowa licencyjna. To tak dla formalności dlaczego w sieci nie można tego jawnie znaleźć.Michał W. edytował(a) ten post dnia 08.10.07 o godzinie 14:06
Marcin Czajczyk

Marcin Czajczyk Project manager

Temat: Wydajność bazy

testy maja to do siebie, ze wynik mozna porownac tylko na tej samej maszynie ewentulanie na innej zbudowanej z tych samych komponentow.

co do testowania, to najwazniejsze jest, aby kazde zapytanie optymalnie kozytsalo z indexow, duze tabele byly dzielone, byla odpowiednia ilosc RAMu.

Jezeli beda same zapytania bez updatow, to im nizszy czas osiagniesz pojedynczego, to na pewno bedzie szybciej chodzi przy bardzo duzym obciazeniu.

Jak beda updaty, to wszystko zalezy jak czasto beda updaty tych samych wierszy - mamy wtedy locki i tu juz ciezko cos wykazac - za duza dynamika zmian.

Temat: Wydajność bazy

Jakub C.:
Głównie rozchodzi mi się o MS SQL Server, ale jeśli ktoś zna odpowiedzi na moje pytania w przypadku innych baz to też jestem zainteresowany:
1. Czy można w jakiś sposób przeprowadzić symulację na bazie danych polegającą na tym, że duża liczba użytkownikó przesyła w tym samym czasie zapytania do bazy?
2. Jeśli jest do tego jakieś oprogramowanie to jak się nazywa?

pod pg to np pgbench. jest w contribie - takie dodatki w pakiecie pg
3. Jak zwiększyć wydajność bazy rozumianą jako obsługa dużej liczby różnych zapytań od bardzo wielu użytkowników w tym samym czasie?

szeroko rozumiany tunning bazy i systemu, wybor odpowiedniego sprzetu, podzielenie danych na kilka dyskow, podzial indexow itd

Temat: Wydajność bazy

Trzeba pamiętać o odpowiednim zapytaniu jakie robimy, aby nie było locków.
Trzeba badać statystyki, bo czasem warto je zamrozić ale to ciężka sprawa aby to ciągle utrzymywać :(

Ogólnie to najlepiej napisać prosty programik który będzie generował N połączeń i wykonywał różne operacje.

konto usunięte

Temat: Wydajność bazy

odpowiedzią na Twoje pierwsze pytanie może byc oprogramowanie BenchmarkFactory firmy QUEST - dla sprawdzenia wydajności poszczególnych zapytań uruchamia scenariusz testowy sprawdzający jak zachowuje się serwer przy obciążeniu zapytaniami przez 1 do 20 użytkowników (ograniczenie z wersji testowej).

Co do zwiększenia wydajności: to jak zostało już napisane - można zrobic wszystko :) od indeksowania, po parametry sprzętowe - długi temat...Aleksandra Grabarczyk-Jedynak edytował(a) ten post dnia 05.11.07 o godzinie 18:59

konto usunięte

Temat: Wydajność bazy

Jakub C.:
Głównie rozchodzi mi się o MS SQL Server, ale jeśli ktoś zna odpowiedzi na moje pytania w przypadku innych baz to też jestem zainteresowany:
1. Czy można w jakiś sposób przeprowadzić symulację na bazie danych polegającą na tym, że duża liczba użytkownikó przesyła w tym samym czasie zapytania do bazy?
2. Jeśli jest do tego jakieś oprogramowanie to jak się nazywa?
3. Jak zwiększyć wydajność bazy rozumianą jako obsługa dużej liczby różnych zapytań od bardzo wielu użytkowników w tym samym czasie?

na początek polecam: http://www.sql-server-performance.com/

konto usunięte

Temat: Wydajność bazy

Możesz przechwycić SQL Profilerem ślad i użyć go jako wejście do DTA (database tuning advisor). Musisz mieć tylko kogoś, kto wygeneruje ślad. Rozwiązanie dobre przy modyfikacjach działającej już bazy. Wtedy z produkcji można zarejestrować wysyłane przez użytkowników polecenia.

Nie pamiętam dokładnie ja się to robi, ale jak by Ci się to przydało to pisz - dowiem się więcej, albo poszukaj na temat DTA

konto usunięte

Temat: Wydajność bazy

Dobrą praktyką są testy bazy dla konkretnych przypadków jej użycia.
Ogólne testy nic Ci nie dadzą poza dobrze znanymi wynikami z benchmarków.
Najlepszą praktyką optymalizacji DB, jest symulacja jej środowiska produkcyjnego u danego klineta - aplikacja i pracujący użytkownicy.
Ja niestety nie znam jednego dobrego kombajnu do tego typu rzeczy i poleciłbym zestaw:
1. Testcomplete, oczywiście musisz wpierw zaprogramować najczęściej wykonywane przez usera operacje - ma możliwosć symulacji wielu stacji roboczych pracujących w tym samym czasie.
2. Narzędzia z Quest Software - do monitorowania DB
Da Ci to co Cię interesuje - listę najwolniejszych zapytań i operacji na DB wraz ze szczegółowymi statystykami.
Oczywiście zawsze zamiast quest'a możesz użyć profilera...
Michał F.

Michał F. Specjalista IT, DBA

Temat: Wydajność bazy

Nie bawiac sie w żadne komercyjne narzedzia najlepiej jest przygotowac zestaw skryptów uruchamianych z cmd które bardzo dobrze zasymuluja obciazenie wywolane lawina transakcji. Wszystko obserwować performance monitorem i profilerem z odpowiednio dobranymi wtyczkami.

Co do tuningu i zwiekszenia wydajnosci bazy danych to zgodnie ze sztuka powinno odbywac sie to w kolejnosci:
- wlasciwa struktura bazy - tabele, widoki z podzialem na partycje..
- odpowienio skonstruowane zapytania - wszystko na transakcjach z odpowiednimi poziomami isolacji.
- odpowiednie indeksowanie
- tuning serwera SQL.

Dodatkowo dobrze jest puscic odswiezenie statystyk, reindeksacje na wszystkich tabelach. Przy bardzo duzej ilosci transkacji i polaczen na bazie mozna stworzyc joba który codziennie wieczorkiem nasza baze nam uporzatkuje..

Następna dyskusja:

Forum Bazy Danych




Wyślij zaproszenie do