Analiza problemów z wykorzystaniem STAD
Jedną z bardziej użytecznych transakcji w analizowaniu problemów z wydajnością systemów SAP jest transakcja STAD (w bardzo starych wersjach R/3 była to transakcja STAT). Dla tych, którzy jeszcze jej nie znają opiszę jakie jest zastosowanie tej transakcji.
STAD zawiera tak zwane „single statistical records” czyli informacje na temat poszczególnych kroków. Nie zawsze jeden wpis to jedna transakcja, o czym dobrze wiedzą osoby znające podstawę pracy systemu.
Rekordy dla STAD są zbierane przez poszczególne procesy robocze (ang. work process) i zapisywane na dysku serwera w katalogu /usr/sap/<SID>/<Katalog instancji>/DATA.
Możecie je zobaczyć korzystając z transakcji AL11. Poniżej przykład.
Pliki te zawierają dane binarne i są tworzone w godzinnym odstępie. Ułatwia to manipulacje tymi danymi, które potem wykorzystywane są do zbiorczych statystyk.
O ile sam proces tworzenia plików jest może niezbyt interesujący, to informacja zawarta w tych rekordach bardzo się przydaje. Po wywołaniu STAD zobaczymy listę ostatnio wykonanych kroków. Jeżeli nie mamy odpowiednich uprawnień (S_TOOLS_EX - Tools Performance Monitor) zobaczymy tylko to, co sami wykonaliśmy w systemie.
Po kliknięciu na jednym z rekordów pokazane zostaną szczegóły, z których przy wstępnej analizie najbardziej interesująca jest następująca część:

To, co jest tu najważniejsze, to całkowity czas spędzony w WP (total time in workprocs), czas CPU i czas bazy danych (database request time). To, jaki jest podział pomiędzy tymi czasami daje nam wskazówkę z jakim problemem (o ile taki istnieje) mamy do czynienia. Długi czas spędzony w bazie danych wskazuje na to, że powinniśmy się bliżej przyjrzeć zapytaniom do bazy (SQL Statements), a długi czas CPU wskazuje na ewentualny potencjał w optymalizacji kodu. Oczywiście wszystko zależy od tego jaką transakcję analizujemy, bowiem przy transakcjach typu VA05 jest oczywiste, że będziemy obserwowali długie czasy dostępu do bazy danych. Im większe doświadczenie, tym więcej danych można odczytać z STAD.
Na koniec małe pytanie dla osób, dla których temat nie jest nowy. Czy widzicie coś ciekawego w przedstawionym powyżej fragmencie z STAD? Jeżeli tak, to co i co to może oznaczać. Zachęcam do podzielenia się uwagami z innymi i zostawienie komentarza do wpisu.
Tags: sap wydajność



Friday, 8 February, 2008 at 21:25
Mnie brakuje 1ms w agregacji całkowitego Response time. Nie miałem zbyt dużo doczynienia z basis, ale pokuszę się o moją teorię.
Oznacza to błąd przy zaokrągleniu do ms ?
pozdrawiam, Artur
Saturday, 9 February, 2008 at 16:05
Cześć Artur,
Nie.
Nie chodzi mi tu o zaokrąglenia, ale coś w zakresie podziału czasów.
Generalnie ok. 0,5 sekundy na jeden krok to nie jest najgorzej (choć oczywiście zależy to od typu wykonywanego kroku). 1ms w zaokrągleniach bym się raczej nie przejmował.
Na razie poczekam z podaniem o co mi chodzi….
pozdrawiam
Rafał