Jak być może wiesz z poprzedniego posta na tym blogu lub jeśli obserwujesz mnie na Twitterze (BPeaslandDBA), lubię Lighty for Oracle, produkt firmy Orachrome. Uwielbiam ten produkt i łatwość uzyskania informacji diagnostycznych dotyczących wydajności. Bardzo dobrze znam Oracle Enterprise Manager i cały czas używam EM12c, gdy otrzymuję telefony o słabej wydajności bazy danych. Ale teraz mam nadzieję, że Lighty stanie się kolejnym narzędziem w moim arsenale.
Nie spodziewam się, że Lighty zastąpi Enterprise Managera. EM12c robi o wiele więcej niż Lighty, tj. monitorowanie i alarmowanie oraz różne zadania związane z administracją bazami danych. Więc zatrzymam EM12c bardzo dziękuję. Ale będę polegał na Lightly'u, jeśli chodzi o tę część mojej pracy, którą Lighty wykonuje naprawdę dobrze, dostarczając informacji, które pomogą w dostrajaniu wydajności. Lighty służy tylko do dostrajania wydajności, a ponieważ ma jeden cel, bardzo dobrze wykonuje swoją pracę.
Postaram się pokazać, dlaczego uważam, że Lighty jest świetnym narzędziem do użycia. Kontrastuję z EM12c. Na początek w EM12c przechodzę do Performance -> Performance Home i widzę ekran podobny do poniższego.
Od razu widzę, że mam rywalizację o zasoby procesora. Główny ekran Lighty wygląda następująco.
Mamy więc bardzo podobne informacje. I na tym kończą się dla mnie różnice… już na początku. W EM12c jestem zmuszony do podjęcia decyzji, czy przeanalizuję wykorzystanie procesora, czy jedną z klas wait, takich jak User I/O? Ponieważ powyższe pokazuje rywalizację o procesor, w EM12c klikam część wykresu dotyczącą procesora, aby przejść do szczegółów. W tym momencie w EM12c rozważam tylko użycie procesora do mojej analizy. Jak zobaczymy później, Lighty nie wymaga ode mnie dokonania tego wyboru, jeśli nie chcę. Poniżej znajduje się mój wykres z EM12c.
Powyższy wykres jest dla mnie bardzo powszechny w mojej bazie danych Oracle RAC. Powyższy wykres przedstawia wykorzystanie procesora przez trzy instancje mojej bazy danych w klastrach. Który z nich dominuje w wykorzystaniu procesora? Cóż, wszystkie wyglądają dość równo. Jednak EM12c zmusza mnie do wybrania jednej instancji do analizy. Nie mogę zbadać wszystkich 3 instancji na jednym ekranie. Dużo mojej pracy dotyczy dostrajania wydajności Oracle RAC, a ograniczenia EM12c mnie tutaj niepokoją. Muszę wybrać klasę oczekiwania lub procesor, a następnie wybrać instancję, zanim będę mógł uzyskać informacje na temat najważniejszych instrukcji SQL lub najpopularniejszych sesji. Jeśli zagłębię się wystarczająco głęboko w EM12c, mogę uzyskać ekran podobny do poniższego.
Nareszcie gdzieś dotarłem! Widzę najpopularniejsze instrukcje SQL i najpopularniejsze sesje. Zwróć uwagę na podświetloną część. To jest szczegół dla 5-minutowego okna. Pięciominutowe okno jest reprezentowane przez zacienione pole na poniższym wykresie wykorzystania procesora dla instancji.
W EM12c mogę przeciągnąć zacieniowane pole do innego czasu, a informacje o top SQL i najlepszych sesjach zmienią się, aby pasowały. Ale nie mogę zmienić tego na interwał 10-minutowy lub inny okres. Utknąłem na 5 minut.
Teraz porównajmy to do Lighty'ego. Widzieliśmy już wykres wydajności, podobnie jak EM12. Poniżej tego wykresu wydajności w Lighty znajduje się okienko szczegółów w najważniejszych instrukcjach SQL. Nie musiałem niczego klikać, aby uzyskać najlepsze instrukcje SQL.
Od razu widzę jedną różnicę między Lighty a EM12c. Moje najpopularniejsze instrukcje SQL nie są ograniczone wyłącznie do procesora lub określonej klasy oczekiwania. Jeśli chcę ograniczyć informacje, mogę wybrać z menu nad wykresem wydajności.
Zazwyczaj mam zaznaczone Wszystkie, ale jeśli wybiorę, mogę wybrać wyświetlanie tylko procesora. Lighty nie ogranicza mnie tak, jak robi to EM12c, chyba że zdecyduję się na podzbiór informacji.
Zauważ w górnym SQL, że został mi przedstawiony harmonogram wydarzeń dla tego SQL. Na przykład widzimy, że górna instrukcja SQL na liście zużywa dużo procesora. Inne instrukcje SQL na liście rozpoczynają i zatrzymują użycie procesora, co jest pokazane w kolorze jasnozielonym. We/wy użytkownika są jednocześnie pokazane tutaj na niebiesko. Jeśli rozwinę instrukcję SQL, mogę uzyskać jej rozbicie.
Wystarczy kliknąć znak plus obok instrukcji SQL, aby zobaczyć, że ta instrukcja ma dwa różne plany wykonania, a jeden z nich pochłania 93,92% całkowitego wykorzystania procesora. Jeśli rozszerzę ten plan, zobaczę, gdzie spędza czas, z podziałem na zdarzenia oczekiwania.
Więc podsumujmy to. Zacząłem Lighty i od razu otrzymałem moje najlepsze instrukcje SQL i jednym kliknięciem wiem, że najlepsze z nich ma plan wykonania wykorzystujący procesor. Moim zdaniem jest to bardzo szybkie i łatwe. EM12c utrudnia dotarcie do tych informacji, a EM12c nie pokaże mi, kiedy instrukcja SQL zaczęła zużywać procesor, a kiedy przestała, tak jak na wykresach dostarczanych przez Lighty.
Jeśli kliknę na instrukcję SQL, podobnie jak w EM12c, Lighty pokaże mi statystyki dotyczące konkretnego SQL. Jeśli kliknę na zakładkę Użycie, widzę wszystkie sesje, które uruchomiły to oświadczenie. Zwróć uwagę, że wykres pokazuje oś czasu, kiedy ta sesja zużywała ten zasób dla tej instrukcji SQL. EM12c nie pokaże mi tego poziomu szczegółowości.
Biorąc pod uwagę powyższe, łatwo widzę, że jest to wiele sesji wykonujących tę samą instrukcję w różnym czasie.
Pamiętasz, że EM12c sprawił, że wybrałem instancję dla tej bazy danych Oracle RAC? W Lighty nie muszę dokonywać takiego wyboru. Ale mogę całkiem łatwo. Lighty rozpoznaje RAC i wykrył wiele instancji. Domyślnie mam wybrane wszystkie instancje. Proste menu rozwijane pozwala mi wybrać jedną z nich, a informacje na ekranie automatycznie dostosowują się do tego przypadku.
Pamiętaj w EM12c, gdzie to zacienione okienko reprezentowało 5-minutowy okres czasu. W Lighty dane SQL i dane sesji dotyczą całego wykresu. Jeśli chcesz mieć 5-minutowe okno, możesz wybrać opcję 5 minut nad wykresem. Domyślnie ma wybrane okno 60-minutowe.
Mogę też wybrać inne opcje, w tym niestandardowy zakres dat/godzin. W EM12c wykres dotyczy 1 godziny i nie mogę tego zmienić.
EM12c ma swoje analizy ASH, które pozwalają mi przyjrzeć się wydajności w przeszłości. Ale zawsze miałem z tym problemy. Dzięki ASH Analytics (która pozwala mi przeglądać historię aktywnej sesji), mogę zmienić to szare okno na coś innego niż 5 minut. Ale dla mnie EM12c po prostu nigdy nie zwraca danych. Może mam coś nie tak z moim środowiskiem EM12c. Ale Lightly działa po wyjęciu z pudełka z historycznymi danymi ASH. Załóżmy, że otrzymałem telefon dotyczący problemu z wydajnością, który miał miejsce dziś rano między 8:00 a 9:00. Po prostu wybieram niestandardowy zakres czasu.
W EM12c zmuszony jestem przejść do innej strony internetowej, Performance –> ASH Analytics.
Do tej pory prawdopodobnie uczepiłeś się pomysłu, że moim zdaniem Lighty jest szybkim i łatwym sposobem uzyskania wielu z tych samych informacji, które mogę uzyskać z EM12c. I miałbyś rację! Oto kolejny obszar, który podoba mi się w Lighty. Jeśli przejdę do Okno -> Monitorowanie wielu baz danych, mogę zobaczyć wykresy wielu różnych metryk wydajności dla wielu baz danych. Oto przykład. Na pierwszy rzut oka mogę monitorować wiele baz danych na jednym ekranie. EM12c mi na to nie pozwoli. Widzę, że baza danych po prawej stronie jest dość bezczynna, podczas gdy baza danych pośrodku jest mocno uderzana. Przewijając stronę w dół, otrzymuję wykresy dla wielu wskaźników:
- Parsuje
- Połączenia użytkownika
- Transakcje
- Czyta i zapisuje
- Opóźnienie dysku
- Przepustowość we/wy dysku
- Globalne stawki transferu pamięci podręcznej
- Współczynniki ponownego generowania
- Ruch sieciowy
W EM12c musiałbym odwiedzić zbyt wiele stron, aby uzyskać te same informacje, które Lighty podaje mi na jednej stronie.
Wszystkie moje przykłady opierają się na tych samych pakietach Diagnostics and Tuning Pack, na które posiadam licencję. Jeśli nie masz na nie licencji, Lighty zapewnia podobną funkcjonalność w Statspack i ich wersji L-ASH (Lighty ASH).
Podsumowując, uważam, że Lighty jest świetnym narzędziem dla DBA, który jest odpowiedzialny za dostrajanie wydajności. Koszt jest również bardzo rozsądny. Im częściej korzystam z narzędzia, tym bardziej doceniam szybkość uzyskiwania informacji. Mogę włączać i wyłączać różne rzeczy za pomocą nie więcej niż dwóch kliknięć, aby móc łatwo dotrzeć do głównej przyczyny moich problemów z wydajnością. Zachęcam wszystkich administratorów baz danych Oracle do pobrania wersji próbnej i sprawdzenia, czy ten produkt jest dla nich odpowiedni. Lighty można znaleźć tutaj:http://www.orachrome.com/en/index.html