Zarządzanie wydajnością aplikacji w strukturze trójwarstwowej na przykładzie technologii CLIENT-WEB-SERVER® firmy HEUTHES®
Wojciech Grzybek, Adam Kopciński-Galik



Streszczenie

Dokument ma na celu przybliżenie administratorom i zaawansowanym użytkownikom metod oceny wydajności i niezawodności aplikacji napisanych w technologii CLIENT-WEB-SERVER firmy HEUTHES oraz sposobów takiej konfiguracji całego systemu, która zapewnia jego optymalne funkcjonowanie z punktu widzenia końcowego użytkownika aplikacji. Środkiem do tego jest monitorowanie parametrów i wskaźników pracy systemu oraz ich analiza, zgodna z opracowaną przez HEUTHES metodyką nazywaną PROAPERMAN (ang. Probabilistic Application Performance Management).



1 Wprowadzenie

Technologia CLIENT-WEB-SERVER (CWS) opracowana przez firmę HEUTHES w pierwszej połowie lat dziewięćdziesiątych ubiegłego wieku wprowadziła konieczność zmiany podejścia do optymalizacji zarówno samego kodu programów, jak i infrastruktury sprzętowo-systemowej niezbędnej do skutecznego dostarczenia użytkownikowi końcowemu aplikacji o odpowiedniej wydajności i z akceptowalnym czasem reakcji. Dawniej programista pisząc aplikacje client-server mógł łatwo oszacować ich wydajność, uruchamiając je na swoim komputerze lub w sieci lokalnej. W technologii CWS między środowiskiem sprzętowo-systemowym programisty, a środowiskiem użytkowym występują znaczące różnice. Ponadto w środowisku testowym trudno jest zasymulować obciążenie występujące w rzeczywistym systemie podczas pracy wielu stacji roboczych jednocześnie.

Dlatego HEUTHES oprócz modułów, bibliotek i systemów w technologii CWS, opracował metodykę monitorowania i zwiększania wydajności systemu oraz sposoby optymalizacji infrastruktury sprzętowo-systemowej, opartą o analizę odpowiednich parametrów i wskaźników zarówno technicznych, jak i aplikacyjnych.

W HEUTHES powstało wiele systemów w technologii CWS. Pierwszym z nich był wdrożony w 1992 roku system GRYFBANK / WWW, umożliwiający użytkownikom dostęp do systemu bankowego GRYFBANK poprzez przeglądarkę WWW. W późniejszym okresie w tej samej technologii w HEUTHES powstał również Internetowy System Obsługi Firmy – ISOF [1], wprowadzony na rynek w 2000 r jako usługa SaaS. Innymi dużymi systemami bankowymi, które zrealizowano w technologii CWS są systemy: GRYFCARD / WWW [2] oraz MuliCentaur INTRA [3].

Więcej informacji o systemach firmy HEUTHES można uzyskać w Referencjach [4] i Katalogu oprogramowania bankowego [5].



2 Podstawy teoretyczne

W automatyce badanie złożonych „obiektów sterowania”, polega na metodzie „czarnej skrzynki”. Do obiektu doprowadza się standardowe sygnały sterujące i bada się odpowiedź. Sygnałami sterującymi może być na przykład pobudzenie jednostkowe lub szybki krótki impuls.

Rys. 1.Schemat badania zachowania obiektu metodą „czarnej skrzynki”

Dzięki zaawansowanej matematyce w systemach analogowych udaje się opracować matematyczny model obiektu sterowania i na jego podstawie przewidywać jego zachowanie (np. kształt odpowiedzi). Problem jednak się komplikuje, gdy obiekty sterowania zawierają pętle sprzężenia zwrotnego i opóźnienia czasowe. W przypadku komputerów dochodzi jeszcze bardzo duża przestrzeń stanów, w których może znajdować się program i interakcja systemu operacyjnego z wieloma jego modułami, rozbudowanym sprzętem (w pojedynczym serwerze znajduje się obecnie ponad miliard tranzystorów) oraz systemem wirtualizacji.

Analityczne metody matematyczne nie pozwalają na opracowanie dla takiego obiektu ścisłego, użytecznego modelu matematycznego. Pozostają jedynie badania statystyczne i drążenie danych zmierzające do wyszukania prostych zależności, które następnie służą do analizy i stopniowego doskonalenia całego systemu krok po kroku.

W podejściu klasycznym sygnał testowy generuje się metodą losową Monte Carlo. Wygenerowanie odpowiednich zapytań testowych choć możliwe, nie daje dobrych rezultatów, gdyż aplikacje CWS cechuje duża liczba wzajemnie powiązanych funkcji i trudne do zasymulowania zachowanie ludzi.

W trakcie wieloletniej praktyki w HEUTHES wypracowano metodę polegającą na wykonywaniu nieuciążliwych testów w trakcie normalnej pracy systemu oraz wykorzystaniu niektórych standardowych funkcji systemu informatycznego dodatkowo do pomiarów i analiz optymalizacyjnych. Testy te są zestawiane z klasycznymi wykresami obciążenia procesorów czy kanałów dyskowych.

Administrowanie zaawansowanym klastrem komputerów, w którym używa się wirtualizacji z trójwarstwową architekturą wymaga obecnie także umiejętności statystycznej analizy i eksploracji danych. Do efektywnego zarządzania i przetwarzania danych o działaniu systemu, celowe jest wykorzystanie hurtowni danych (np. RapidMiner [6]) oraz programu do analizy statystycznej (np. R Project [7]).



 Kliknij aby pobrać pełną wersję dokumentu



Spis treści


  •    Streszczenie
  •    O autorach
  • 1 Wprowadzenie
  • 2 Podstawy teoretyczne
  • 3 Ogólna charakterystyka technologii CLIENT-WEB-SERVER
    • 3.1 Elementy infrastruktury CWS
    • 3.2 Przykładowa konfiguracja sprzętowo-programowa dla technologii CWS
  • 4 Narzędzia pomiarowe
    • 4.1 Parametry dostępne online dla administratora systemu przez protokół SNMP
      • 4.1.1 Liczba skryptów przetwarzanych przez serwer HDB
      • 4.1.2 Liczba wątków przetwarzanych przez serwer HDB
      • 4.1.3 Czas logowania użytkowników do systemu
      • 4.1.4 Liczba sesji serwera HDB
      • 4.1.5 Liczba połączeń serwera WWW i HDB
      • 4.1.6 Wykorzystanie procesorów
      • 4.1.7 TCP/IP Flow
    • 4.2 Parametry mierzone w tle aplikacji CWS
      • 4.2.1 Czas logowania
      • 4.2.2 Czas wystawienia dokumentu
    • 4.3 Parametry dostępne dla użytkownika zalogowanego do aplikacji CWS
      • 4.3.1 Test połączenia TCP/IP
      • 4.3.2 Test połączenia HDB
      • 4.3.3 Test przeglądarki
    • 4.4 Parametry dostępne dla użytkownika z uprawnieniami administratora aplikacji CWS
      • 4.4.1 Test syntetyczny
      • 4.4.2 Test matematyczny
      • 4.4.3 Test wydajności bazy danych
      • 4.4.4 Test komunikacji HDB z bazą danych
    • 4.5 Analiza danych z plików dzienników
      • 4.5.1 Log HDBSQL
      • 4.5.2 Log HDBSTAT
    • 4.6 Nadzorowanie parametrów systemu przy pomocy Nagios
    • 4.7 Nadzorowanie parametrów systemu przy pomocy Cacti
  • 5 Optymalizacja wydajności serwera i aplikacji
  • 6 Przebieg procesu zarządzania wydajnością aplikacji napisanych w technologii CWS na przykładzie rzeczywistym
  • 7 Podsumowanie
  •    Bibliografia
  •    Dodatek A: Definicje wybranych pojęć i oznaczeń
  •    Dodatek B: Przykład skryptu napisanego w języku R


Bibliografia




Zapytaj o więcej szczegółów! Wyślij zapytanie ›