Czy prawdą jest, że nienawidzisz sytuacji, w której proszony jesteś o dopasowanie wydajności i pojemności serwera dla konkretnej aplikacji, a ty nie masz pojęcia od czego zacząć? Typowy sprzedawca prawdopodobnie powie , “Wystarczy dobrać serwer na podstawie wymaganej pojemności!” i przeważnie większość osób dobierze serwer właśnie w ten sposób. Jednak dobieranie serwera tylko na podstawie wymaganej wielkości jest najgorszym sposobem.
Pamiętaj o tym, że serwer nie jest tylko czarnym pudełkiem, mimo iż niektórzy ludzie woleli by żeby tak było. Prawda jest taka, że dopasowanie wydajności serwera do aplikacji nie jest czarną magią, ponieważ całość można poukładać w sposób bardzo naukowy i logiczny.
Organizacja SNIA (Storage Networking Industry Association) stworzyła model metodologi dopasowania wydajności serwera (brzmi to odstraszając, ale w rzeczywistości tak nie jest), który zasadniczo upraszcza cały proces do kilku kluczowych składników. Należy pamiętać, że jest to bardzo pomocne, ale dość ogólnikowe podejście do problemu dopasowywania serwerów, dlatego zawsze zalecam kontaktowanie się z profesjonalistami od doboru serwerów. Z doświadczenia wiem, że kontakt z profesjonalistami przed podjęciem ostatecznej decyzji, zawsze pomaga i nic nie kosztuje, a wiadomo, że lepiej zapytać niż później żałować podjętej decyzji.
Składniki modelu SNIA (kolejność nie ma znaczenia):
- Wielkość bloku aplikacji
- Współczynnik Odczytu do Zapisu
- Sposób dostępu do danych przez aplikację
- Wymagany rozmiar pamięci i pamięci cache
- IOPS czy Przepustowość
- Intensywność zapytań
Wielkość Bloku Aplikacji
Po pierwsze i najważniejsze serwer jest po to, aby służyć aplikacji. Dlatego przy doborze serwera zawsze musimy patrzeć z punktu widzenia aplikacji, a nie serwera, na którym będzie ona uruchomiona. Różne aplikacje mają różnej wielkości bloki. Wielkość bloków baz danych przeważnie znajduj się w przedziale od 8K do 64K natomiast wielkość bloków plików backupu aplikacji są znacznie większe. Aplikacje wideo mają wielkość bloków na poziomie 256K lub więcej. Wielkość bloku zależy zawsze od rodzaju aplikacji.
W celu zweryfikowania wielkości najlepiej skontaktować się z autorem aplikacji.
Współczynnik Odczytu do Zapisu
Aplikacje zachowują się różnie w różnych porach dnia i różnych porach miesiąca. Przykładowo aplikacja księgowa pod koniec roku finansowego lub kalendarzowego wykonuje pewne zadania, które normalnie nie są wykonywane. Również podczas pracy w typowy dzień różny jest stosunek procentowy Odczytu w porównaniu do Zapisu.
Większość aplikacji OLTP (online transaction processing) wydają się być bardziej ukierunkowane na odczyt niż zapis, ale musimy jeszcze znaleźć współczynnik. Przeważnie jest to współczynnik 2:1 lub 60%:40%, ale najlepiej jest zawsze zapytać producenta o to jaki jest współczynnik dla jego aplikacji. Aplikacje DSS (Decision Support Systems) i aplikacje magazynujące dane mogą mieć znacznie większy odczyt niż zapis natomiast, aplikacje analizujące w pewnym momencie działania mogą mieć większy zapis. Wszystko zawsze zależy od rodzaju aplikacji i tego co i kiedy jest przez nią wykonywane.
Zawsze należy zadawać pytania, producentowi aplikacji o to jakie parametry, ma jego aplikacja w poszczególnych etapach działania aplikacji. Wiadomo, że w przypadku bardziej rozbudowanych aplikacji nigdy nie skorzysta się z wszystkich funkcjonalności oferowanych przez aplikację. Dlatego należy zastanowić się, które funkcje są dla nas kluczowe, a następnie dowiedzieć się jaki jest dla nich współczynnik. Jest to ważne bo nie ma sensu dopasowywać serwera do funkcji aplikacji, których i tak nie będziemy wykorzystywać lub będziemy to robić bardzo rzadko jak w przypadku zestawień rocznych w programie księgowym?.
Sposób dostępu do danych przez aplikację
Aplikacje mają to do siebie, że zachowują się bardzo różnie. Dostęp do danych może być ciągły jak w przypadku backup-u czy strumieniowego odtwarzania wideo. Może to być przypadkowy dostęp jak w przypadku poczty elektronicznej, baz danych itp. Wszystko to ma wpływ na to jaki rodzaj dysków powinniśmy do serwera i jak powinniśmy je skonfigurować.
Niektóre poziomy RAID pracują lepiej z ciągłym dostępem do danych, a inne z przypadkowym dostępem. Nie jest trudne zweryfikować w jaki sposób zachowuje się nasza aplikacja, a jak dodatkowo przeczytasz artykuł o tym jaki RAID jest najlepszy dla jakiego sposób dostępu do danych, to na pewno będziesz wiedział jaki poziom powinieneś skonfigurować dla swojej aplikacji.
Wymagany rozmiar pamięci i pamięci cache
Ta zmienna jest nieco trudniejszy do określenia. Mówi ona o tym jaka część aplikacji musi być załadowana do pamięci i pamięci cache serwera by mogła być wykorzystywana przez użytkowników aplikacji.
Jeżeli ktoś nie jest bardzo dobrze zaznajomiony z aplikacją to niestety nie będzie w stanie określić tej wartości. Przeważnie określa się to po tym jak aplikacja działa przez pewien okres czasu.
Dlatego dobrze jest mieć dysk SSD wykorzystywany jako pamięć cache serwera, w szczególności w wersji DRAM. Dzięki niemu będziemy mieć pewność, że mamy wystarczającą ilość miejsca dla naszej aplikacji.
IOPS czy Przepustowość
Zgodnie z modelem SNIA dla I/O mniejszych od 64K, głównym kryterium przy doborze serwera powinny być IOPS, natomiast gdy I/O są większe wtedy powinno się kłaść nacisk na pasmo przepustowości (MB/sec).
Producent aplikacji bez problemu powinien udzielić informacji jaka ilość IOPS lub jaka przepustowość jest wymagana dla aplikacji. Jeszcze raz pamiętaj, że zawsze należy pytać o takie rzeczy ponieważ to bardzo pomaga przy doborze odpowiedniego rozwiązania.
Intensywność zapytań
Ta część jest przeważnie omijana gdy dobieramy serwer. Intensywność zapytań odnosi się do ilości zapytań I/O. Ich źródło może pochodzić tylko z jednej części danej aplikacji lub równolegle jednocześnie z kilku części aplikacji. Ten parametr również jest ciężko określić.
Niektóre aplikacje umożliwiają konfigurowanie stopnia intensywności, jeżeli nie wiesz jak to zapytaj producenta.
Jeszcze jedna sprawa. Nauczyłem się, że zawsze należy dodać bufor do naszych obliczeń. Przeważnie jest on na poziomie dodatkowych 20%, ale nigdy nie wiadomo. Przy doborze sprzętu bardzo gorąco zalecam kontakt z profesjonalistami w dziedzinie storage. It is usually a more expensive affair to size it after the applications have been installed and running.
“Brak planu planuje niepowodzenie”. Rozwiązanie nie jest trudne. Wystarczy je zrozumieć.