Inżynieria wiedzy – PROJEKT – Logika Rozmyta |
---|
Zespół: Bartosz Foremniak |
Specjalność: MITI |
W moim projekcie chciałbym przedstawić zależność obciążeń wirtualnego serwera od parametrów hostowanej na nim strony WWW.
Definicje:
Hosting - usługa świadczona przez ISP polegająca na udostępnieniu zasobów serwerowni oraz wynajmie platformy sprzętowej lub wirtualnej platformy systemowej. W ramach usługi klient może otrzymywać dostęp do środowiska systemu operacyjnego o określonych umową parametrach, dostęp do sieci, zasilanie i wsparcie administratorów. Typowa usługa zwłaszcza w zakresie wynajmu platform pod serwery http.
Serwer wirtualny - to określenie pakietu usług umożliwiających kompleksowe zaistnienie w Internecie. Usługi te pozwalają firmom założyć własne witryny internetowe w taki sposób, aby zasoby każdego z nich widziane były z zewnątrz jako indywidualne i samodzielne serwery. Dzięki usłudze serwera wirtualnego pomijalne są kłopoty związane z zakupem i podłączeniem drogiego komputera stałym łączem do sieci, zatrudnianiem pracowników do administracji systemu itp.
Jako że serwer wirtualny to część fizycznej maszyny fizycznie współdzielonej z innymi użytkownikami, przy korzystaniu z tego wygodnego rozwiązania kluczowym staje się obciążenie generowane przez serwis internetowy – zbyt duże wyklucza korzystanie z serwera wirtualnego – koniecznością staje się skorzystanie droższych komercyjnych rozwiązań.
Do symulacji wybrałem trzy zmienne składające się na obciążenie serwera , opisane dokładniej w punkcje I - ilość użytkowników, ilość zapytań do bazy danych, ilość przesłanych danych. Są one kluczowe przy przewidywaniu obciążeń generowanych przez stronę WWW – prosta strona tzw. wizytówka zawierająca same dane tekstowe, będzie stanowiła inne obciążenie, niż np. rozbudowany system forum dla studentów informatyki IS.
Wybór takiego tematu podyktowany jest moimi zainteresowaniami i wynikających z nich doświadczeniami, które umożliwiły mi wcielenie się w rolę eksperta podczas budowania bazy reguł niezbędnych do przeprowadzenia wnioskowania w logice rozmytej.
Ilość-użytkowników – odpowiada maksymalnej liczbie użytkowników odwiedzających jednocześnie stronę WWW (w czasie 1 s)
Ilość-zapytań – odpowiada liczbie zapytań do bazy danych wygenerowanej przez serwer WWW w odpowiedzi na pojedyncze żądanie użytkownika o wyświetlenie pojedynczej podstrony WWW
Ilość-danych – wyrażona w mega bajtach liczba danych przesyłana przez serwer w odpowiedzi na żądanie użytkownika
Obciążenie serwera – wyrażone w procentach obciążenie mocy obliczeniowej procesora
Operator koniunkcji – MIN
Operator implikacji – MIN
Operator agregacji – MAX
Operator wyostrzania – środek maksimum
Przedział od 0 do 40 i więcej użytkowników na sekundę
Przedział od 0 do 15 i więcej zapytań do bazy danych dla pojedynczej strony WWW
Przedział od 0 do 2 megabajtów i więcej przesłanych danych w odpowiedzi na pojedyncze żądanie wyświetlenia strony WWW.
Dla wszystkich zmiennych wejściowym zastosowałem podział na 4 termy (zbiory rozmyte), odpowiednio przyporządkowujące wartości małe, średnie, duże i bardzo duże. Kształt funkcji jak i przedziały wartości zostały przeze mnie dobrane zgodnie z doświadczeniem w administrowaniu różnymi witrynami WWW.
Zmienna wyjściowa czyli obciążenie serwera wirtualnego wyrażone w procentach zostało podzielone na 5 termów: bardzo, małe, średnie, duże, bardzo duże. Zastosowany podział wynika z doświadczenia. Przy obciążeniach dużych, czy bardzo dużych zachodzi już konieczność przeniesienia serwisu na dedykowany dla niego serwer.
W związku z tym, iż danymi wejściowymi są trzy zmienne lingwistyczne, przy czym każda zawiera 4 zbiory rozmyte, utworzyłem 64 reguły wnioskowania (4 * 4 * 4) w formie implikacji
IF
ilość użytkowników == ……
AND
Ilość zapytań == …..
AND
Ilość danych ==……
THEN
Obciążenie serwera == …..
Rozpatrywana jest prosta strona osobista oparta o sam kod html (zwracająca poniżej 200KB danych), nie wykorzystująca bazy danych (0 zapytań) odwiedzana przez niewielu użytkowników około 5 (w ciągu sekundy). Jak widać obciążenie serwera jest bardzo małe oscyluje poniżej 10% mocy obliczeniowej. Jest to zgodne z praktyką technologiczną.
Rozpatrywana jest ta sama strona co w scenariuszu I, jednakże ze znacznie większą oglądalnością, maksymalną przyjęta za możliwą (40 użytkowników na sekundę). Jak widać nawet tak drastyczny 800% wzrost odwiedzin powoduje nieznaczny wzrost obciążenie serwera, które pozostaje na niskim poziomie około 30%. Jest to zgodne z praktyką technologiczną.
Ta sama strona rozpatrywana w scenariuszu nr I została w tym przypadku wyposażona w dynamiczne treści pobierane nie bezpośrednio z pliku html a z bazy danych, serwer wykonuje przy tym średnią liczbę zapytań (7). Pozostałe dane czyli liczba odwiedzających internautów (5) i wielkość strony (200 KB) pozostały bez zmian. Jak widać z symulacji zmiennej wyjściowej nastąpił pięciokrotny wzrost obciążenie serwera. Jest to zgodne z praktyką technologiczną, projektując serwis WWW należy skupić się na jak największym ograniczeniu zbędnych zapytań do bazy danych.
W tym scenariuszu rozpatrywany jest popularny serwis internetowy (25 użytkowników na sekundę) hostujący zdjęcia (przesyła na żądanie średnio 1,5 mb danych). Jednocześnie posiadający dobrze zoptymalizowane połączenia z bazą danych (średnio 3 podczas jednego wywołania). Powoduje to utrzymanie obciążeń serwera na średnim maksymalnym poziomie 67%, co również jest zgodne z praktyką technologiczną.
W scenariuszu V rozpatrywane jest strona WWW w postaci forum internetowego. Popularnego danew do 32 użytkowników na sekundę, ze swojego charakteru jak często dość nieoptymalną jeśli chodzi o komunikację z bazą danych 14 zapytań podczas jednego żądania, ale przesyłającą niewiele danych (około 400KB) jako że przesyłany jest głównie tekst (a nie grafika, czy inne media). Przy tego typu założeniach, otrzymane obciążenie serwera jest bardzo duże i sięga 90%, co sugeruje że tego typu serwis należy przenieść na specjalnie dla niego dedykowany serwer. Jest to zgodne z praktyką technologiczną.
Powyższa grafika przedstawia zależność obciążenia serwera WWW od ilości zapytań do bazy danych i ilości użytkowników odwiedzających witrynę. Wynika z niej, iż na fizyczne obciążenie maszyny serwera większy wpływ ma nie bezpośrednia popularność strony przekładająca się na ilość jej wywołań, ale jej część konstrukcyjna – czyli optymalność zaprojektowanych połączeń z bazą danych. Jest to zgodne z praktyką technologiczną, powodem zerwania umów wynajmu serwerów wirtualnych jest najczęściej źle zoptymalizowana baza danych.
Ze stosunku ilości zapytań i ilości przesłanych danych do obciążenia serwera również wynika większe znaczenie optymalnej budowy warstwy bazodanowej – wzrost ilości przesłanych danych powoduje dość harmonijne zmiany obciążenie serwera. Wzrost liczby zapytań powoduje bardziej gwałtowne skoki obciążenia.
Logika rozmyta jest doskonałym narzędziem do symulacji procesu decyzyjnego
Zestaw odpowiednich reguł wnioskowania zbudowany na bazie teorii i technologicznych (praktycznych) rozwiązań pozwala na testowanie rozmaitych scenariuszy bez konieczności fizycznego angażowania czasu i zasobów maszyn potrzebnych do działania danego procesu technologicznego.
Budowanie i testowanie bazy wiedzy z udziałem pakietu fuzzy programu matlab odbywa się w sposób intuicyjny, a konfrontacja otrzymanych wyników ich z doświadczeniem zawodowym umożliwia szybkie znajdywanie błędów w regułach rozmytych.
Graficzna prezentacja zależności pomiędzy zmiennymi wejściowymi, a wyjściem może stanowi znakomitą podstawę do prezentacji problemu dla osób nie znających się na technicznej stronie zagadnienia.