Zwiększanie wydajności serwerów Linux zazwyczaj polega na:
-
optymalizacji systemu operacyjnego Linux (np. Debian, Red Hat). Nawet najlepszy system operacyjny zainstalowany z domyślnymi parametrami stanowi jedynie bazę do dalszych działań. Dzieje się tak, ponieważ twórcy systemu nie wiedzą dokładnie do jakiego zastosowania będzie wykorzystana dana instalacja. Idą więc na kompromis i wiele parametrów ustawiają tak, aby system działał w miarę optymalnie w każdym zastosowaniu i niemal na każdym sprzęcie. Z oczywistych powodów cierpi na tym ogólna wydajność, którą można znacznie poprawić wiedząc jaką rolę ma pełnić dany serwer. Inaczej powinna wyglądać konfiguracja serwera bazodanowego, a inaczej serwera pocztowego. Mając dogłębną wiedzę na temat systemu operacyjnego można przeprowadzić pewnego rodzaju „tuning” co pozwoli na uzyskanie większej wydajności dla konkretnego zastosowania. W ramach tej usługi optymalizujemy parametry jądra systemu, procesora, pamięci RAM, macierzy dyskowej, interfejsów sieciowych, a także wyłączamy nieużywane moduły oraz usługi. Oczekiwany wzrost wydajności, czyli np. ilości przetworzonych przez serwer danych szacowany jest na kilka-kilkadziesiąt %. Na specjalne życzenie możemy również przygotować optymalnie dostosowane jądro systemu posiadające tylko niezbędne funkcje i moduły.
-
optymalizacji serwera baz danych (np. MySQL, PostgreSQL). Podobnie jak w przypadku systemu operacyjnego również środowisko bazodanowe zainstalowane z domyślnymi parametrami jest skonfigurowane poprawnie jedynie dla przeciętnego i mało wymagającego użytkownika. Znając zastosowanie serwera oraz wiedząc jaki rozmiar i typ danych firma przetwarza, jakiego typu zapytania najczęściej wykorzystuje itp. można zdecydowanie poprawić wydajność serwera bazodanowego. Oczekiwany wzrost wydajności, czyli np. ilości zapytań jakie serwer może obsłużyć w ciągu jednej sekundy szacowany jest na kilkanaście-kilkadziesiąt %.
-
optymalizacji serwera WWW (np. Apache, nginx). Analogicznie jak w przypadku systemu operacyjnego oraz serwera baz danych – również serwer WWW w domyślnej konfiguracji nie spełnia oczekiwań wymagającego użytkownika. Usługa poprawy wydajności polega w tym przypadku na takim dobraniu parametrów serwera oraz na zastosowaniu takich modułów i mechanizmów, żeby zmniejszyć do minimum czas potrzebny na wyświetlenie treści w przeglądarce. Oczekiwany wzrost wydajności, czyli np. ilości żądań jakie serwer może obsłużyć w ciągu jednej sekundy szacowany jest na kilkadziesiąt-kilkaset %. Efekt jest widoczny również w postaci kilkakrotnie krótszego czasu potrzebnego na wyświetlenie strony WWW odwiedzającemu w jego przeglądarce. Bardzo pomocne w zwiększeniu wydajności serwera jest również wdrożenie nowego protokołu HTTP/2, który jest następcą leciwego HTTP/1.1. W bardziej zaawansowanym wariancie i tam gdzie użytkownicy systemu są rozproszeni po całym świecie w grę wchodzi również zastosowanie rozwiązania typu CDN (Content Delivery Network) po to, aby dostarczać treści z serwera umieszczonego najbliżej geograficznej lokalizacji użytkownika.
-
optymalizacji środowiska programistycznego (np. PHP, SQL, Java). Optymalizacja środowiska programistycznego jest ściśle związana z serwerami usług. Dobieramy różnego rodzaju parametry tak, aby wydobyć jak najwięcej z dostępnej architektury. Wiąże się to również z zastosowaniem dodatkowych mechanizmów poprawiających wydajność takich jak np. cache. Może się jednak okazać, że nawet najbardziej wydajne środowisko zostanie w pełni wykorzystane przez nie do końca przemyślane skrypty PHP lub zapytania SQL pisane zazwyczaj przez początkujących, niedoświadczonych lub roztargnionych programistów. Bardzo często w takim przypadku wystarczy przejrzeć kod programu, znaleźć, a następnie wyeliminować błędy, które powodują drastyczne obniżenie wydajności całego systemu zamiast niepotrzebnie inwestować fundusze w rozbudowę infrastruktury informatycznej.
-
wdrażaniu rozwiązań maksymalizujących dostępność i/lub wydajność platformy serwerowej. Niektóre systemy wymagają specjalnego traktowania i podejścia z uwagi na specyfikę branży (np. bankowość) lub po prostu z uwagi na zastosowane zapisy w umowach (np. SLA w firmach hostingowych czy telekomunikacyjnych). Od tego typu rozwiązań najczęściej wymaga się ponadstandardowej, wysokiej wydajności (HP – High Performance) oraz dostępności (HA – High Availability). Pomożemy zaprojektować i uruchomić środowisko, które dzięki najnowocześniejszym rozwiązaniom będzie nie tylko bardzo wydajne, ale również ponadprzeciętnie odporne na awarie i dostępne w szerszych przedziałach czasu ze względu na zastosowaną redundancję na każdym możliwym poziomie infrastruktury. Dzięki temu można obsłużyć nawet bardzo wysoki wolumen ruchu sieciowego, a dodatkowo większość prac konserwacyjnych czy administracyjnych można przeprowadzać nie pozbawiając użytkowników dostępu do świadczonych usług. Tego typu profesjonalne systemy umożliwiają również stosunkowo łatwe i elastyczne skalowanie infrastruktury w poziomie i w pionie. Zachęcamy do skorzystania z tej oferty jeśli „zwykłe” rozwiązania nie są dla Ciebie wystarczające.