Wednesday, June 27th, 2007...12:12 am

Nowa wersja ADFind, trochę o wydajności

Jump to Comments

Å»eby nie byÅ‚o że ja tak tylko o jakiÅ› maÅ‚o istotnych rzeczach … nowe ADFind siÄ™ nam objawiÅ‚o. DokÅ‚adnie co ulegÅ‚o zmianie można jak zwykle przeczytać na blogu joe, ja chciaÅ‚em tylko zwrócić uwagÄ™ na nowe statystyki dostÄ™pne na Windows 2008 (LH). Prosty przykÅ‚ad:

adfind -b OU=Employees,DC=w2k,dc=pl -s subtree -f “objectClass=user” -stats+only

W wyniku otrzymujemy:

Statistics
=================================
Elapsed Time: 0 (ms)
Returned 1 entries of 2 visited – (50.00%)

Used Filter:
(objectClass=user)

Used Indices:
Ancestors_index:2:N

Pages Referenced : 46
Pages Read From Disk : 0
Pages Pre-read From Disk: 0

Analysis
———————————
Hit Rate of 50.00% is Ok

Indices used:

Index Name : Ancestors_index
Record Count: 2 (estimate)
Index Type : Normal Attribute Index
Ancestors Index used, possibly inefficient, verify filter.

Filter Breakdown:

(objectClass=user)

Jak widać nowościa w statystykach są informacje dotyczące liczby stron przeszukanych przez zapytanie, liczby stron odczytanych z dysku w celu zwrócenia odpowiedniego zakresu atrybutów itp. Im informacji jest dostępnych, tym lepiej można optymalizować zapytania kierowane do katalog.

Jeżeli chodzi o liczbę stron odczytanych w trakcie realizacji zapytania to jest to o tyle ważne, że operacje dyskowe nadal są stosunkowo wolne w porównaniu do odczytów z pamięci a zapytanie może wymagać odczytu dodatkowych danych z dysku.

Warto w tym kontekÅ›cie wiedzieć o jednej z wÅ‚aÅ›ciwoÅ›ci bazy danych ESE, która jest “pod spodem” Active Directory. “DÅ‚ugie” wartoÅ›ci atrybutów (long values) obiektów skÅ‚adowanych w ESE przechowywane sÄ… w osobnej tabeli, czyli w osobnym obszarze dysku. Zapytanie, które ma zwrócić wartoÅ›ci takich atrybutów, jeżeli nie sÄ… one obecne w pamiÄ™ci cache (nie byÅ‚y uprzednio odczytane) musi dodatkowo odczytać je z dysku – czyli wykonać stosunkowo wolnÄ… operacjÄ™ dyskowÄ… na innym obszarze bazy danych. To może wpÅ‚ynąć znacznie na wydajność zapytaÅ„.

Z tego raczej dobrze widać dlaczego warto unikać zapytaÅ„ z “gwiazdkÄ…” a dokÅ‚adnie specyfikować zakres atrybutów, który chcemy żeby zostaÅ‚ zwrócony w wyniku zapytania. Przydatne może bardziej dla programistów pracujÄ…cych z AD ale dla adminów też. W koÅ„cu:

  • trzeba wiedzieć na co zwracać uwagÄ™ jak już jakaÅ› aplikacja “zajeżdża” nasz kontroler domeny.
  • czasami też piszemy skrypty pracujÄ…ce z obiektami AD, a wtedy taka wiedza może siÄ™ przydać.

To tyle jeżeli chodzi o nowe funkcje ADFind. Dalej uważam że jest to jedno z najlepszych narzędzi dla AD.

PS. Jak może uważny czytelnik zauważyÅ‚ filtr jakiego użyÅ‚em to objectClass=user. W bsÅ‚udze zapytania zaÅ› użyty zostaÅ‚ indeks – tak, w Windows 2008 (aka Longhorn) objectClass jest domyÅ›lnie indeksowane. Taka maÅ‚a, dÅ‚ugo oczekiwana (a może niektórzy już sami jÄ… wykonali) zmiana.

Leave a Reply