=?iso-8859-2?q?Konfiguracja_domy=B6lna_DB2_Express-C?=
kkboiling@gmail.com - 12-01-2007 00:29
=?iso-8859-2?q?Konfiguracja_domy=B6lna_DB2_Express-C?=
Witam,
Chciałbym wykluczyć problem z konfiguracją serwera bazy danych w moim środowisku.
Mam aplikację serwowaną przez Tomcata opartą o bazę danych DB2 Express-C na Red Had Enterprice. Przy pojedynczym odwołaniu się do aplikacji wydajność jest prawidłowa. Natomiast przy dwóch i więcej odwołaniach równoległych wydajność aplikacji spada praktycznie liniowo. (tj. wykonanie operacji jest dwukrotnie wolniejsze dla 2 użytkowników równoległych niż dla jednego i prawie 10 krotnie w przypadku 10 równoległych odwołań).
Weryfikowałem konfigurację Tomcata, ale nic nie wskazuje na błędy w tym miejscu. Chciałbym wykluczyć błąd (przynajmniej jakiś bardzo banalny) w konfiguracji bazy danych.
Czy w defaultowej instalacji DB2 Express-C nie jest skonfigurowana tak, że jest włączone jakieś blokowanie równoległych odwołań do bazy danych?
Czy moglibyście może wskazać mi jakieś narzędzia którymi mógłbym zbadać wydajność bazy i symulować jakieś odwołania równoległe?
Przepraszam za ogólny charakter pytań, ale niestety moja wiedza w tym zakresie jest ograniczona. Jeśli jest jakiś artykuł na ten temat, będę bardzo wdzięczny za odesłanie mnie.
Pozdrawiam Krzysiek
Krzysztof Paz - 12-01-2007 00:29
=?iso-8859-2?Q?Re:_Konfiguracja_domy=B6lna_DB2_Express-C?=
<kkboiling@gmail.com> wrote in message news:1168529225.745806.103470@i39g2000hsf.googlegr oups.com... Witam,
Chciałbym wykluczyć problem z konfiguracją serwera bazy danych w moim środowisku.
Mam aplikację serwowaną przez Tomcata opartą o bazę danych DB2 Express-C na Red Had Enterprice. Przy pojedynczym odwołaniu się do aplikacji wydajność jest prawidłowa. Natomiast przy dwóch i więcej odwołaniach równoległych wydajność aplikacji spada praktycznie liniowo. (tj. wykonanie operacji jest dwukrotnie wolniejsze dla 2 użytkowników równoległych niż dla jednego i prawie 10 krotnie w przypadku 10 równoległych odwołań).
Weryfikowałem konfigurację Tomcata, ale nic nie wskazuje na błędy w tym miejscu. Chciałbym wykluczyć błąd (przynajmniej jakiś bardzo banalny) w konfiguracji bazy danych.
Czy w defaultowej instalacji DB2 Express-C nie jest skonfigurowana tak, że jest włączone jakieś blokowanie równoległych odwołań do bazy danych?
Czy moglibyście może wskazać mi jakieś narzędzia którymi mógłbym zbadać wydajność bazy i symulować jakieś odwołania równoległe?
Przepraszam za ogólny charakter pytań, ale niestety moja wiedza w tym zakresie jest ograniczona. Jeśli jest jakiś artykuł na ten temat, będę bardzo wdzięczny za odesłanie mnie.
Pozdrawiam Krzysiek
--- W znanych mi instalacjach DB2 wszystko działa normalnie. Osobiście mam wrażenie, że to brzmi raczej nieco egzotycznie, ażeby vendor taki IBM zablokował coś w tym rodzaju w swoich bazach danych... zatem może podaj proszę bliższe szczegóły - typu: Rozmiar i przybliżona struktura bazy danych, jej rozmiar, przechowywane obiekty, wykorzystane technologie, triki i mechanizmy w storprocach, ustawione parametry konfiguracyjne bazy i instancji i konfigurację samego systemu i sprzętu pod spodem oraz storage. Język, rodzaj aplikacji i jej konstrukcję oraz konkretne transakcje w krytycznych obszarach, w tym również używane poziomy izolacji transakcji oraz blokowania zasobów - które powodują takie dziwne zachowania.
Może przy okazji warto zerknąć do fragmentów w dokumentacji: 1. Locks and concurrency control - http://publib.boulder.ibm.com/infoce...c/c0005266.htm 2. Deadlocks - http://publib.boulder.ibm.com/infoce...c/c0005419.htm 3. trochę starsze, ale czasem pomocne fragmenty (v8) - "Diagnosing and Resolving Lock Problems with DB2 Universal Database" - http://www-128.ibm.com/developerwork...10wilkins.html 4. Lock avoidance in DB2 UDB V8 - http://www-128.ibm.com/developerwork...m-0509schuetz/ 5. DB2 Basics: Unlocking the secrets surrounding the locking behavior of the DB2 UDB data movement utilities - http://www-128.ibm.com/developerwork...dm-0501melnyk/
Jeśli chodzi o narzędzia to proponuję na wstępie polecenie: db2 list applications show detail i analizę pól status, status change time i appl, handle Następnie przyda się uzycie snapshot monitora i techniki migawek lub też monitora zdarzeń i prześledzenia obiektów zakleszczeń ze szczegółami - np. w narządziu do graficznej administracji (db2cc) DB2 Control Center/Centrum Sterowania, wybieramy w drzewie obiektów daną bazę danych, rozwijamy jej poddrzewo, prawym przyciskiem klikamy na teczce z napisem "Monitory zdarzeń" i wybieramy utwórz a dalej w oknie kreatora zaznaczamy "Zakleszczenia" oraz "Ze szczegółami" i w końcu wykonujemy nasze sporne transakcje i analizujemy wyniki...
Pozdrawiam, Kris
Artur - 13-01-2007 00:01
=?iso-8859-2?q?Re:_Konfiguracja_domy=B6lna_DB2_Express-C?=
Mam pytanie na początek: wykorzystujesz DB2 w wersji 9 czy 8?
Jest to istotne pytanie, ponieważ w wersji 9 są zupełnie inne domyślne wartości parametrów (w 9 baza włączona jest domyślnie na autostrojenie).
Rozumiem, że mówisz o jakimś zadaniu, które trochę trwa, pewnie więcej niż kilka sekund. Zwróć uwagę na wykorzystanie procesora. Jeśli jest 100% to oznacza, że przy dwóch zadaniach czas w najlepszym wypadku (!) będzie dwa razy dłuższy. Inną kwestą jest dlaczego jest 100% -- może być albo tak CPU-chłonne, albo np. brakuje indeksu i baza musi skanować duży zbiór danych.
1. Sprawdź wersję (db2level) 2. Uruchom zadanie dla 1 użytk. i sprawdź ile czasu zajęło oraz sprawdź jak wyglądało obciążenie procesorów oraz dysków (np. vmstat) 3. Następne kroki zależą od tego co uzyskasz w kroku 2.
Jeśli w pkt. 2 masz 100% CPU -- sprawdź indeksy. Jeśłi w pkt. 2 masz niewielką utylizację procesora, to może oznaczać, że pewnie pierwsza aplikacja założyła blokadę a druga po prostu czeka na jej zwolnienie (podaj inne warunki uruchomienia zadania, np. id klienta).
W narzędziu graficznym DB2 Control Center (db2cc) możesz wygenerować różne raporty dotyczące wydajności (Activiti Monitor, Monitor Aktywności). Poszukaj w dokumentacji:
http://publib.boulder.ibm.com/infoce...w/v9/index.jsp
Pozdrawiam, Artur Wroński
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO
Czy zna (obsługuje) ktoś program Iso Draw ?
MYSQL - kodowanie w ISO-PL
strona plus baza w iso do utf-8
Kodowanie: z iso na utf
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
=?iso-8859-2?q?Co_oznacza_b=B3=B1d_Warning:_mysql=5Fconnect() _[function.mysql-connect]:_Can't_connect_to_local_MySQL_server_through_sock et_'/var/run/mysqld/mysqld.sock'_(2)_in?=
=?iso-8859-2?q?Informatyka,_Java,_EJB,_Ajax,_Spring=2E_Czy=BF by_to_koniec_=B6wiata,_czy_te=BF_nasze_uczelnie_b= EAd=B1_uczy=B3y_w_ko=F1cu!_czego_praktycznego_=2E= 2E=2E=2E?=
=?iso-8859-2?q?Ati_Mobility_Radeon_X300_W_Notebooku_Jak_Zwi=E Akszy=E6_Ilo=B6=E6_Grafiki_Poprzez_Wsp=F3=B3dziele nie_Z_Ramu=3F=3F=3F?=
=?ISO-8859-2?Q?=AFegnam_si=EA=2E=2E=2E?=
zanotowane.pldoc.pisz.plpdf.pisz.pllisinski.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|