MailStore Server – dobre praktyki dla wydajności i skalowalności
Dla zapewnienia nieprzerwanej i bezstresowej pracy MailStore Server, należy zrozumieć znaczenie komponentów infrastruktury takich jak sieć, magazyn i inny sprzęt jak również wpływ różnych opcji konfiguracyjnych na całkowitą wydajność systemu.
Oczywiście ten artykuł może jedynie wyjaśnić podstawowe zależności bez dostarczania szczegółowych instrukcji konfiguracji dla każdego możliwego scenariusza. W razie wątpliwości, zapraszamy do kontaktu z naszymi inżynierami, którzy odpowiedzą na Państwa pytania.
Rekomendacja została przygotowana przez producenta MailStore w oparciu o założenia rocznej objętości poczty na poziomie 10 tys. maili per użytkownik. Maksymalna zalecana liczba użytkowników MailStore Server nie powinna przekraczać 500 użytkowników.
W artykule skupimy się na kilku najważniejszych rzeczach:
- Dopasowanie sprzętu
- Procesor (CPU)
- Pamięć (RAM)
- Magazyn
- Profile archiwizacji
- Archiwizacja pojedynczych skrzynek
- Archiwizacja Multidrop i Journaling
- Archiwizacja dla klientów e-mail i plików
- Inne czynności
- Wyszukiwanie
Dopasowanie sprzętu
Dla dostarczenia odpowiedniego sprzętu najważniejsze są właściwe założenia początkowe dotyczące wysokiej wydajności jak i skalowalności MailStore Server. Poniżej dostarczamy informacje w jaki sposób komponenty sprzęty wpływają na zapewnienie użytkownikom oczekiwanego poziomu wydajności i satysfakcji.
Procesor (CPU)
Wysokie zużycie procesora podczas archiwizacji występuje, kiedy wiadomości i załączniki są indeksowane. Przy wzrastającej ilości konkurencyjnych operacji, ilość rdzeni procesora również powinna się zwiększać.
Pamiętaj, że niewłaściwa konfiguracja wirtualnych socket’ów i rdzeni CPU może prowadzić do zmniejszenia wydajności maszyny gościa przy zastosowaniu wirtualizacji. Warto zapoznać się dokładnie z dokumentacją wykorzystywanego rozwiązania do wirtualizacji dla dodatkowych informacji o stosunku przydziału zasobów CPU zalecanym dla poprawnego działania wielu procesów wielowątkowych w maszynach wirtualnych.
Główna pamięć (RAM)
W parze z rozmiarem archiwum, średnie wymagania pamięci nieznacznie rosną podczas archiwizacji nowych wiadomości, przeglądania archiwum czy wyszukiwania. Dodatkowo pamięć główna jest tymczasowo wymagana dla każdej archiwizowanej wiadomości lub gdy wyszukiwanie zwraca dużą ilość wyników. Dlatego zalecane jest pozostawienie przynajmniej 20% zapasu pamięci niewykorzystywanego przy normalnej pracy systemu.
Do obliczeń minimalnych wymogów pamięci można przyjąć poniższą formułę:
Wymagana pamięć dla OS + 256 MB + liczba użytkowników × 5 MB + 10%
Magazyn
MailStore Server jest bardzo intensywnym procesem wejścia/wyjścia ze względu na podobieństwo jego technologii magazynowania do aplikacji serwerów bazodanowych jak Microfsoft SQL Server lub podobnych. Z tych powodów wykorzystywany magazyn ma znaczący wpływ na wydajność MailStore Server, wpływające na wszystkie płaszczyzny, od archiwizacji wiadomości, kończąc na dostępie użytkownika końcowego. Poniższe tematy zasługują na dodatkową uwagę:
Łączność
Zwykle, bezpośrednio podłączana przestrzeń dyskowa (DAS) jest preferowanym rozwiązaniem z uwagi na małe opóźnienia. Korzystając z NAS, minimalne wymagania przepustowości dysku to 5 MB/s. Więc zalecane jest stworzenie dedykowanego łącza 1 Gb/s pomiędzy MailStore Server i NAS. Również korzystanie z iSCSI lub FibreChannel jest bardziej preferowane niż protokoły takie jak CIFS/SMB.
Przydział
Zalecany jest przydział dedykowanych macierzy dyskowych dla MailStore Server, aby zminimalizować ryzyko negatywnego wpływu innych systemów I/O takich jak bazy danych czy serwery poczty. Dodatkowo, powinno się korzystać różnych macierzy dyskowych dla systemu (system operacyjny, program, pliki tymczasowe) i innych danych.
Dyski twarde i poziom RAID
Całkowita wydajność zależy głównie od maksymalnej liczby operacji I/O na sekundę (określanej również jako random disk IOPS), macierze RAID na poziomie 1 do 10, które zawierają wiele mniejszych dysków są zdecydowanie zalecane.
Z uwagi na naturę poziomów RAID 5, 50, 6 lub 60, które zwykle nie oferują żadnego zysku prędkości zapisu, ich wykorzystanie mogłoby prowadzić do spadku ogólnej wydajności, więc nie mogą być polecone dla dysków obsługujących intensywne aplikacje I/O, jak MailStore Server.
Dla konfiguracji przy dużej ilości użytkowników lub bardzo dużej objętości poczty, użycie szybkich (>=10.000 RPM) dysków SAS jest wysoce zalecane.
Dodanie dysków SSD dla odczytu-zapisu cache’ów lub nawet odciążenie często wykorzystywanych danych może skutkować poprawą wydajności, pozwalając na wyższą liczbę jednoczesnych procesów archiwizacji lub dziennego ilości przetwarzanych wiadomości.
Jeżeli nie są Państwo pewni jaka będzie optymalna konfiguracja repozytorium, prosimy zapoznanie się z dokumentacją systemów magazynujących lub konsultację z dostawcą, aby zapewnić odpowiednią konfigurację dla dysków aplikacji o dużym użyciu operacji wejścia/wyjścia.
Profile archiwizacji
Wybór strategii archiwizacji również może mieć duży wpływ na całkowitą wydajność. Dlatego ważne jest, aby wiedzieć w jaki sposób różne profile archiwizacji dostarczane przez MailStore wpływają na wykorzystanie zasobów systemu.
Archiwizacja wybranych skrzynek
Oczywiście, z każdym uruchomienie archiwizacji pojedynczej skrzynki lub wielu skrzynek, obciążenie serwera pocztowego i MailStore Server wzrasta.
Synchronizacja zawartości skrzynki pocztowej z dotychczas zarchiwizowaną pocztą początkowo prowadzi do obciążenia I/O dysku, podczas archiwizacji nowych wiadomości zużywane są również zasoby procesora i pamięci głównej do celów indeksacji.
Aby zminimalizować obciążenie systemu i ograniczyć całkowity czas archiwizacji, nie więcej niż 5.000 maili powinno pozostawać w archiwizowanej skrzynce. Można to osiągnąć poprzez włączenie funkcji usuwania wiadomości przez MailStore, np. usuwanie ze skrzynki pocztowej wiadomości starszych niż zadana wartość czasu. Co więcej, liczba jednocześnie archiwizowanych wątków powinna być utrzymana na najniższym możliwym poziomie.
Obciążenie powodowane przez te typy profili archiwizacji musi być rozważona z wysokim priorytetem, więc ich wykorzystanie może być polecane tylko dla środowisk z niewielkimi skrzynkami i stosunkowo niewielką ilością wiadomości.
Archiwizacja journalingowa i multidrop
Podczas archiwizacji wiadomości z journalingu i multidrop, wiadomości są przetwarzane sekwencyjne. Zgodnie z rekomendacją, aby zezwolić MailStore na usuwanie wiadomości z tych skrzynek po udanej archiwizacji, nie ma dodatkowego narzutu związanego z synchronizacji, w przeciwieństwie do archiwizacji pojedynczych skrzynek. Więc zasoby systemowe jak dysk, procesor i pamięć główna są obciążane jedynie podczas archiwizacji nowych elementów.
Te profile archiwizacji są wskazane dla każdego środowiska, niezależnie od wielkości skrzynek czy ilości maili.
Archiwizacja dla klientów poczty i plików
Podczas archiwizacji przez klient pocztowy lub bezpośrednio z pliku wiadomości, informacje dotyczące archiwizacji pojedynczych skrzynek są jak najbardziej stosowalne.
Dodatkowo, wykonywanie archiwizacji po stronie klienta nie może być kontrolowane centralnie przez MailStore Server, co zwiększa ryzyko zbyt wielu jednoczesnych wątków powodujących nieprzewidziane wysokie obciążenie serwera.
Z uwagi na to archiwizacja po stronie klienta jest odpowiednia dla jednorazowej archiwizacji starych wiadomości przechowywanych lokalnie na komputerach jak również dla ciągłej archiwizacji poczty w środowiskach o małej ilości użytkowników i/lub niewielkiej ilości maili.
Inne czynności
Wyszukiwanie
Wpływ operacji wyszukiwania zależy od jej zakresu, ilości magazynów i znalezionych elementów. Im więcej znalezionych elementów, tym więcej pamięci jest potrzebne dla przechowywania rezultatów wyszukiwania, co oznacza, że wyszukiwanie w archiwach użytkownika zwykle pochłania dużo więcej zasobów niż wyszukiwanie w pojedynczym archiwum. Również każdy plik z indeksowaniem pełnotekstowym w każdym magazynie musi zostać sprawdzony podczas wyszukiwania, skutkując ogromną liczbą odczytów z repozytorium. Prosimy pamiętać, że bardzo prawdopodobnie, wyszukiwanie we wszystkich archiwach użytkownika, zawierających kilka setek tysięcy wiadomości, może trwać kilka minut.
W razie dodatkowych pytań, zapraszamy do kontaktu z dystrybutorem MailStore – Sun Capital.