Monitorowanie ośrodka webowego

  • Józef Muszyński,

W świecie e-biznesu sprawą zasadniczą jest szybki czas reakcji, a dokładny pomiar czasu odpowiedzi ośrodka webowego jest jednym z podstawowych zadań administratorów. Wielu dostawców deklaruje pomiar czasu odpowiedzi w układzie end-to-end, ale definicje określające to pojęcie, różnią się znacznie między sobą.

Niektóre produkty mierzą czas odpowiedzi między elementami sieci na jej przeciwległych końcach. Inne mierzą czas reakcji pomiędzy serwerem webowym a klientem, nie biorąc pod uwagę procesów wspierających (dostęp do serwera bazy danych itp.). Jeszcze inne mierzą czas odpowiedzi od momentu nadejścia zlecenia do serwera webowego i dalej przez procesy wspierające angażowane w pełną transakcję.

Pomiar czasu odpowiedzi w układzie end-to-end jest problemem w systemach e-biznesu, zwłaszcza w interakcjach biznes-klient (B2C), ponieważ strona biznesowa systemu nie utrzymuje żadnego związku z klientem, dopóki nie otrzyma od niego zlecenia, a gdy takie zlecenie otrzyma, część transakcji już się odbyła.

Niektóre firmy próbują rozwiązać ten problem korzystając z usług świadczonych przez dostawców, takich jak Keynote, WebHancer, Holistix czy ProactiveNet, zajmujących się oprogramowaniem zarządzania wydajnością ośrodka webowego. Usługi te polegają na pomiarach typowego czasu odpowiedzi w dostępie do ośrodka webowego z określonych miejsc na całym świecie. Takie usługi mogą zapewniać ogólne pojęcie o tym, czego mogą doświadczać użytkownicy próbujący uzyskać dostęp z określonych lokalizacji. Jednakże faktyczny czas odpowiedzi dla różnych użytkowników w tych samych lokalizacjach może być całkiem różny, zależny od szeregu zmiennych. Zmienne - takie jak ISP, od którego wynajmuje się usługę, czy intensywność ruchu w sieci szkieletowej, z której korzysta użytkownik - mogą w znaczący sposób wpływać na faktyczny czas odpowiedzi.

Do takich pomiarów używa się zazwyczaj transakcji syntetycznych. Nie są to transakcje "żywych klientów", ale zdefiniowane przez administratora lub odtworzone na podstawie wcześniej zarejestrowanych transakcji. Używane są one do symulacji nawigacji użytkownika po ośrodku webowym. Niektóre produkty dopuszczają wprowadzanie swoistych przerw do takich transakcji, symulujących "czas namysłu" klienta, aby jak najwierniej odtworzyć sposób zachowywania się klienta. Takie transakcje są co pewien czas wysyłane w stronę ośrodka webowego i mierzony jest czas odpowiedzi. Ta metoda pomiaru wydajności nazywana jest "aktywnym pomiarem czasu odpowiedzi" i jest jednym ze wskaźników ogólnej wydajności i kondycji ośrodka, a nie miarą faktycznych czasów reakcji.

Istnieją również pasywne narzędzia pomiaru wydajności, które mierzą i rejestrują faktyczne czasy odpowiedzi. Posługują się one zazwyczaj modułami agentów (na serwerze, kliencie lub na obu), działającymi przeważnie wewnątrz parametru strefy ochronnej zapór ogniowych i współpracującymi między sobą w pomiarze czasów reakcji pomiędzy serwerami i stroną kliencką. Narzędzia pasywnego pomiaru wydajności mogą raportować w czasie rzeczywistym faktyczne czasy reakcji lub też perspektywę historyczną.

Stosowanie techniki agentów niesie ze sobą szereg trudności. Jak wspomniano wcześniej, klient ośrodka webowego objawi się dopiero w momencie wysłania zlecenia. Użycie do pomiaru czasu reakcji agentów stwarza konieczność rezydowania takiego agenta po stronie klienta przed zainicjowaniem transakcji, co obliguje do powszechnej dystrybucji agentów. Jest to sprawa dość delikatna - wielu użytkowników może nie życzyć sobie ładowania dodatkowych agentów do ich systemów. Takie zastrzeżenia stanowią barierę dla tego typu rozwiązań (zastrzeżenia te nie dotyczą sieci przedsiębiorstwa).

Inne rozwiązania to stosowanie apletów Javy lub agentów nietrwałych, ładowanych do systemu klienta na czas trwania transakcji. Agent i oprogramowanie na serwerze współpracują w pomiarze czasu reakcji, a po skompletowaniu transakcji agent jest usuwany z systemu klienta.

Oba systemy - aktywny i pasywny - są w dużym stopniu komplementarne. Pomiar aktywny czasu odpowiedzi jest dobrym wskaźnikiem stanu wydajności, podczas gdy pomiar pasywny przechwytuje faktyczne czasy reakcji użytkownika. Oba podejścia mają swoje wady i zalety. Nie wykluczają się jednak i dlatego też ich kombinacja jest dobrą strategią monitorowania wydajności.

W zarządzaniu wydajnością problem czasu odpowiedzi jest tylko jednym z jego elementów - nie mniej ważna jest możliwość wejrzenia w "wąskie gardła" systemu, kiedy te się pojawią. Jeżeli zaistnieje problem wydajności, a czas odpowiedzi nie jest mierzony krokowo przez wszystkie składowe transakcji (takie jak: klient - serwer webowy, przetwarzanie serwera webowego, serwer webowy - serwer aplikacyjny, przetwarzanie serwera aplikacyjnego, serwer aplikacyjny - baza danych, przetwarzanie bazy danych itp.), to znalezienie źródła problemu wydajnościowego jest praktycznie niemożliwe. Jeżeli natomiast istnieje możliwość wykazania długiego czasu przetwarzania, np. serwera bazy danych, to wtedy źródło problemu jest jasno zidentyfikowane. Ten rodzaj wglądu jest realizowany zazwyczaj przez moduły agentów rozmieszone w infrastrukturze e-biznesu, monitorujące indywidualne komponenty ośrodka webowego.