Monitorowanie ośrodka webowego

ITpedia

Istotnym elementem zarządzania serwerami webowymi jest monitorowanie poszczególnych składowych ośrodka webowego. Monitorowanie i diagnozowanie to działania szczególnie ważne z uwagi na rozproszoną naturę Internetu: uszkodzenia mogą pojawiać się w wielu punktach, z których część może być poza kontrolą ośrodka webowego. Zdolność szybkiego ustalenia, które z komponentów funkcjonują, a które uległy uszkodzeniu, może w istotny sposób skrócić czas potrzebny do zdiagnozowania problemu.

Monitorowanie jest procesem, w ramach którego wykonuje się testy – przeważnie komendy diagnostyczne lub emulację aktualnie użytkowanego systemu – a rezultaty są wykorzystane do różnorodnych analiz. Monitorowanie wykonywane jest okresowo, z częstotliwością wystarczającą do wykrycia uszkodzeń dostatecznie szybko, jednak nie tak często, aby w sposób znaczący obniżało to wydajność testowanego systemu. System monitorowania składa się zazwyczaj z zestawu monitorów, przeważnie rozproszonych na wielu maszynach, mechanizmu powiadamiania administratora o zaistniałych problemach oraz logu rejestrującego dane zbierane przez monitory. W wielu wypadkach reakcją na zaistniałe problemy są akcje korygujące, wykonywane automatycznie przez oprogramowanie monitorujące.

Podstawowy zestaw komponentów o zasadniczym znaczeniu dla każdego ośrodka webowego – uszkodzenie jednego z komponentów może uczynić ośrodek niedostępnym dla potencjalnych użytkowników – to przede wszystkim:

  • maszyny, na których pracują serwery webowe,
  • procesy serwerów webowych (FTP, serwer poczty, baza danych),
  • krytyczne strony WWW,
  • skrypty CGI i programy,
  • połączenia z siecią szkieletową Internetu,
  • stopień wykorzystania pamięci dyskowej.

Oprogramowanie monitorujące tworzy system pozwalający na monitorowanie i zarządzanie środowiskiem ośrodka webowego w taki sposób, aby umożliwić zapobieganie spadkowi wydajności sieci i izolowanie problemów wydajnościowych. Podobnie jak systemy zarządzania siecią oprogramowanie monitorujące ośrodka webowego może śledzić elementy Weba, a w przypadku zaistnienia określonych zdarzeń wysyłać alarmy oraz tworzyć raporty o wydajności aplikacji i systemu – w ujęciu czasowym lub na bieżąco.

Jedną z metod monitorowania ośrodka webowego jest spojrzenie z pozycji klienta takiego ośrodka. Oprogramowanie monitorujące może symulować procesy transakcyjne użytkownika końcowego. Pozwala to uzyskać wiedzę o tym, ile czasu zabiera np. proces poszukiwania zamówienia czy zlecania zakupu. Analizując system webowy w okresach normalnego, szczytowego i małego ruchu, można wyciągać wnioski pozwalające na taki przydział zasobów, który zapewni optymalną jakość obsługi klientów odwiedzających ośrodek.

Ponieważ w świecie e-biznesu sprawą zasadniczą jest szybka reakcja, dokładny pomiar czasu odpowiedzi ośrodka webowego jest jednym z podstawowych zadań administratorów. Najbardziej miarodajne jest mierzenie czasu odpowiedzi od momentu nadejścia zlecenia do serwera webowego przez procesy wspierające, angażowane w pełną transakcję (dostęp do serwera bazy danych itp.) aż do pełnej realizacji zlecenia.

Pomiar czasu odpowiedzi w układzie end-to-end stanowi duży 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 je otrzyma, część transakcji już się odbyła.

Problem ten rozwiązuje się często korzystając z usług, świadczonych przez wyspecjalizowane firmy, polegających na pomiarach typowego czasu odpowiedzi w dostępie do ośrodka webowego z określonych miejsc, często rozproszonych po kraju lub całym świecie. Takie usługi zapewniają ogólne pojęcie o tym, czego mogą doświadczać użytkownicy próbujący uzyskać dostęp z określonych lokalizacji. Faktyczny czas odpowiedzi dla różnych użytkowników w tych samych lokalizacjach może być jednak całkiem różny, ponieważ zależy 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 tego typu 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. Do takich transakcji wprowadza się specjalne przerwy, symulujące „czas namysłu” klienta. Transakcje te 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, nie jest natomiast pomiarem faktycznych czasów reakcji.

Do pomiarów rzeczywistych czasów reakcji stosowane są pasywne narzędzia pomiaru wydajności, posługujące się modułami agentów (rozmieszczanych na serwerze, kliencie lub na obu), działających przeważnie wewnątrz perymetru strefy ochronnej zapór ogniowych i współpracujących 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.

Stosowanie techniki agentów niesie z sobą szereg problemów. Podstawowy wynika z faktu, iż klient ośrodka webowego objawia się dopiero w momencie wysłania zlecenia. Użycie agentów do pomiaru czasu reakcji stwarza konieczność umieszczenia takiego agenta po stronie klienta przed zainicjowaniem transakcji, co wymusza istnienie systemu powszechnej dystrybucji tych 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ń w zastosowaniach powszechnie dostępnych (e-commerce), nie dotyczą jednak sieci przedsiębiorstwa.

Rozwiązaniem tego problemu jest 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 w odniesieniu do użytkownika. Kombinacja tych metod 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ść analizy „wąskich gardeł” systemu w momencie, kiedy takie się pojawiają. Analiza taka wymaga krokowego pomiaru czasu odpowiedzi – przeprowadzanego na wszystkich składowych transakcji (klient – serwer webowy, przetwarzanie serwera webowego, serwer webowy – serwer aplikacyjny, przetwarzanie serwera aplikacyjnego, serwer aplikacyjny – baza danych, przetwarzanie bazy danych itp.). Brak takich pomiarów praktycznie uniemożliwia znalezienie źródła problemu wydajnościowego. Natomiast jeżeli 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.

Zobacz także

-
-