Strona główna
» LINUX
»
Instalacja minimalna a standardowa Ubuntu Server 24.04: co tak naprawdę pokazują testy wydajności
Instalacja minimalna a standardowa Ubuntu Server 24.04: co tak naprawdę pokazują testy wydajności
Instalujesz Ubuntu Server 24.04 LTS na dwóch identycznych maszynach wirtualnych, wybierasz wersję Minimal na jednej, a wersję Standard na drugiej, a potem zastanawiasz się, czy mniejsza instalacja rzeczywiście przyspieszy działanie Twojej aplikacji. To praktyczne pytanie, które pojawia się w większości porównań „Minimalny kontra Standardowy”. Odpowiedź jest bardziej złożona niż pojedynczy wynik benchmarku: wersja Minimalna może zmniejszyć zużycie pamięci masowej, liczbę zainstalowanych pakietów, oprogramowanie działające w tle, a czasem także bezczynność pamięci lub obciążenie rozruchu, ale nie zapewnia automatycznie szybszego jądra procesora, bazy danych ani serwera WWW.
Ubuntu 24.04 LTS o nazwie kodowej Noble Numbat jest objęty nadzorem bezpieczeństwa przez Canonical przez pięć lat, do 31 maja 2029 roku. Oba style instalacji należą do tej samej rodziny wydań Ubuntu i mogą korzystać z tych samych repozytoriów Ubuntu. Istotną różnicą jest to, co jest instalowane domyślnie, a nie inny system operacyjny o zoptymalizowanej wydajności. Archiwum pakietów Canonical opisuje je ubuntu-server-minimaljako „minimalny system Ubuntu Server”, natomiast metapakiet ubuntu-serverzawiera szerszy zestaw narzędzi do administrowania serwerem i zalecanych pakietów. Zobacz oficjalną definicję minimalnego pakietu Ubuntu Server , definicję pakietu Ubuntu Server oraz informacje o wydaniu Ubuntu 24.04 LTS .
Ilustracyjny widok terminala Ubuntu Server 24.04 w wersjach Minimal i Standard. Wartości pamięci wyświetlane na ekranie mają charakter poglądowy i nie są pomiarami porównawczymi. Użyj poniższych poleceń, aby zmierzyć własne systemy.
Minimalne kontra standardowe: co się właściwie zmienia?
Wersja Minimal jest najlepiej rozumiana jako mniejszy punkt wyjścia. Instaluje ona podstawową platformę serwerową i eliminuje część wygodnego oprogramowania, którego może oczekiwać administrator serwera ogólnego przeznaczenia. Standardowy metapakiet serwera zawiera dodatkowe narzędzia, takie jak multipleksery terminali, edytory, narzędzia do rozwiązywania problemów, pomoce do zarządzania repozytoriami i inne pakiety przydatne do interaktywnej administracji.
Obszar
Minimalna instalacja
Standardowa instalacja serwera
Wydanie głównego Ubuntu
Ubuntu 24.04 LTS
Ubuntu 24.04 LTS
Jądro i repozytoria
Dostęp do tej samej rodziny i archiwum
Dostęp do tej samej rodziny i archiwum
Domyślne oprogramowanie
Mniejszy zestaw podstawowy
Szerszy zestaw zorientowany na administrację
Ślad dysku
Zwykle niższy w przypadku nowej instalacji
Zwykle wyższe, ponieważ jest obecnych więcej pakietów
Usługi bezczynności i pamięć
Może być niższa w zależności od zainstalowanych i włączonych usług
Może być wyższa, w zależności od włączonych usług
Przepustowość aplikacji
Nie jest z natury szybszy, gdy obciążenia i usługi są dopasowane
Nie jest z natury wolniejszy, gdy obciążenia i usługi są dopasowane
Administracja codzienna
Może być konieczne jawne zainstalowanie brakujących narzędzi
Więcej narzędzi jest gotowych do użycia od razu
Canonical dokumentuje również obrazy chmurowe Minimal Ubuntu jako celowo mniejsze obrazy, które pomijają nieistotne pakiety, a w niektórych przypadkach pakiety zalecane. Canonical twierdzi, że takie obrazy są szybsze we wdrażaniu, dostarczaniu i uruchamianiu niż większe obrazy bazowe. To stwierdzenie dotyczące obrazów chmurowych wspiera ogólny mechanizm – mniej oprogramowania oznacza mniej transferu, instalacji i inicjalizacji – ale nie należy go błędnie interpretować jako uniwersalnego punktu odniesienia dla instalatora ISO Ubuntu Server. Dokumentacja chmury jest dostępna na stronach Ubuntu base and minimal images .
Dlaczego deklaracje dotyczące testów porównawczych są tak różne
Porównania wydajności często mieszają trzy różne kwestie. Pierwsza to rozmiar: ile pakietów, ile miejsca na dysku i ile pamięci jest zużywane przed wdrożeniem obciążenia? Druga to narzut startowy: ile czasu zajmuje aktywacja usług podczas rozruchu? Trzecia to wydajność obciążenia: liczba żądań na sekundę, liczba transakcji w bazie danych, czas kompilacji, szybkość kompresji lub inna metryka aplikacji.
Minimalizm najprawdopodobniej wykaże wyraźną przewagę w pierwszej kategorii. Może również poprawić drugą, jeśli standardowy system ma dodatkowe włączone usługi. Trzecia kategoria jest zazwyczaj znacznie mniej spektakularna. Jeśli na obu maszynach działa to samo jądro, ta sama wersja aplikacji, ta sama baza danych, ten sam zestaw usług oraz ta sama konfiguracja procesora i pamięci masowej, aplikacja często nie widzi powodu, by zachowywać się inaczej. Serwer WWW nie staje się szybszy tylko dlatego, że brakuje tmux, , lub pakietu do rozwiązywania problemów.vim
Dlatego stałe wartości, takie jak „Minimal zużywa o 40% mniej pamięci RAM” lub „Minimal jest o 15% szybszy”, należy traktować ostrożnie, chyba że autor opublikuje dokładną wersję punktową Ubuntu, stan pakietów, platformę wirtualizacji, sprzęt, listę usług i metodę testowania. Canonical nie publikuje jednej uniwersalnej tabeli wydajności Minimal-versus-Standard dla każdego wdrożenia Ubuntu Server 24.04, więc niniejszy artykuł jej nie tworzy.
Dość dokładna ocena wydajności Ubuntu Server 24.04
Najbardziej przydatne porównanie to takie, które można odtworzyć na własnym sprzęcie lub instancji chmurowej. Zacznij od dwóch nowych instalacji na identycznych zasobach. Użyj tej samej wersji Ubuntu 24.04, tej samej liczby procesorów, alokacji pamięci RAM, typu dysku wirtualnego, systemu plików, trybu oprogramowania układowego, modelu sieci i hosta wirtualizacji. Przed pomiarem zastosuj te same aktualizacje.
1. Rejestruj liczbę pakietów i zainstalowany rozmiar
Zlicz zainstalowane pakiety za pomocą:
dpkg-query -f '${binary:Package}
' -W | wc -l
Następnie sprawdź wykorzystanie dysku:
df -h /
sudo du -xsh /usr /var 2>/dev/null
To są pomiary zużycia energii, a nie szybkości aplikacji. Należy je wykonać natychmiast po tym samym cyklu aktualizacji w obu systemach.
2. Porównaj pamięć bezczynną, nie myląc pamięci podręcznej z odpadami
Użyj free -h, ale skup się na availablekolumnie, zamiast zakładać, że każdy megabajt pamięci podręcznej jest trwale wykorzystywany. Linux celowo wykorzystuje w innym przypadku bezczynną pamięć RAM do buforowania systemu plików. Zapisz również aktywne usługi, aby móc wyjaśnić ewentualne różnice:
Jeśli Minimal oszczędza pamięć, ponieważ brakuje trzech usług, to jest to przydatny wynik. Jeśli później zainstalujesz i włączysz te same usługi, spodziewaj się, że luka się zmniejszy.
3. Zmierz czas rozruchu, a następnie zidentyfikuj przyczynę
Systemd zawiera wbudowane narzędzia do pomiaru czasu:
Przeprowadź wielokrotne rozruchy, odrzuć oczywiste wartości odstające i porównaj mediany zamiast jednego rozruchu. Czas rozruchu maszyny wirtualnej może zależeć od hiperwizora, inicjalizacji w chmurze, opóźnień w pamięci masowej, DHCP, oprogramowania sprzętowego i obciążenia hosta w tle, więc pojedyncza próbka stanowi słaby dowód.
4. Przetestuj obciążenie pracą, które naprawdę Cię interesuje
Jeśli serwer będzie obsługiwał Nginx, PostgreSQL, Redis, Dockera, usługę Java lub API Pythona, przeprowadź test porównawczy tego obciążenia po ujednoliceniu stosu oprogramowania. Kluczowym testem nie jest pytanie „który nowy system operacyjny jest lżejszy?”, ale „czy lżejszy system bazowy zmienia moje obciążenie produkcyjne, gdy obie maszyny będą zawierały wszystko, czego obciążenie potrzebuje?”.
W przypadku testów obciążających procesor należy używać tego samego pliku binarnego i tej samej wersji na obu maszynach. W przypadku testów pamięci masowej należy zachować identyczny system plików, opcje montowania, kontroler dysku wirtualnego, ustawienia kolejki i politykę pamięci podręcznej. W przypadku testów sieciowych należy upewnić się, że oba komputery współdzielą tę samą ścieżkę i nie należy uruchamiać testów porównawczych jednocześnie, jeśli rywalizowałyby o te same zasoby hosta fizycznego.
Jakiej różnicy w wydajności można się spodziewać?
Na małych serwerach VPS, hostach kontenerowych, wdrożeniach typu „asset” lub zautomatyzowanej flocie, rozwiązanie Minimal ma praktyczną przewagę, ponieważ każdy zbędny pakiet wymaga pewnej kombinacji zasobów pamięci masowej, przepustowości aktualizacji, złożoności inwentaryzacji lub uwagi administracyjnej. Mniejszy obraz startowy może również skrócić czas provisioningu, który wymaga wielokrotnego przenoszenia lub rozszerzania obrazów.
Na serwerze ogólnego przeznaczenia, obsługiwanym interaktywnie przez ludzi, standardowa instalacja może być lepszym rozwiązaniem. Dodatkowe narzędzia pozwalają zaoszczędzić czas podczas rozwiązywania problemów, a koszt zasobów kilku uśpionych narzędzi wiersza poleceń jest często pomijalny w porównaniu z pulą buforów bazy danych, stertą JVM, obciążeniem kontenera lub pamięcią podręczną plików. Usunięcie pakietów, które nigdy nie są uruchamiane, nie zwalnia magicznie cykli procesora.
Standardowy zestaw pakietów nie jest również jednoznaczną definicją „rozdęcia”. Canonical może zmieniać zależności i zalecenia dotyczące pakietów poprzez aktualizacje, a administratorzy często dostosowują obie instalacje. Dwa serwery, które rozpoczęły pracę inaczej, mogą z czasem zbiec się w miarę dodawania lub usuwania pakietów.
Minimalne nie oznacza zmniejszonego wsparcia
Częstą obawą jest to, że wybór wersji Minimal w jakiś sposób wiąże się z mniej wspieranym systemem operacyjnym. Dokumentacja chmury Minimal Ubuntu firmy Canonical stwierdza, że obrazy Minimal zachowują dostęp do archiwum Ubuntu i ten sam model utrzymania bezpieczeństwa, co obrazy bazowe. Sam Ubuntu Server 24.04 LTS pozostaje objęty standardowym cyklem utrzymania bezpieczeństwa tej wersji. Tracisz głównie wygodę preinstalacji, a nie dostęp do standardowego ekosystemu pakietów.
Jeśli środowisko minimalne jest zbyt rozproszone do interaktywnej administracji, Canonical udostępnia unminimizenarzędzie do obrazów Minimal Ubuntu. Przywraca ono dokumentację i tłumaczenia oraz instaluje dodatkowe pakiety, które mają na celu uczynienie środowiska wygodniejszym dla użytkownika. Canonical dokumentuje to polecenie w tej samej dokumentacji Minimal Ubuntu . Nie należy jednak zakładać, że uruchomienie unminimizezapewni zgodność bajt po bajcie z każdą możliwą standardową instalacją serwera; zainstalowane pakiety zależą również od typu obrazu, wybranych opcji instalatora, architektury i aktualizacji.
Którą opcję wybrać?
Wybierz wersję Minimal, jeśli potrzebujesz kontrolowanej, powtarzalnej bazy i dokładnie wiesz, jakich pakietów potrzebujesz do wdrożenia. Jest ona szczególnie atrakcyjna w przypadku zautomatyzowanego provisionowania, złotych obrazów, pracowników CI, hostów kontenerowych, urządzeń brzegowych i małych maszyn wirtualnych, gdzie liczy się wolna przestrzeń na dysku lub w pamięci.
Wybierz opcję Standard, gdy wygoda administratora jest ważniejsza niż ograniczenie do minimum. Często jest to łatwiejszy wybór w przypadku serwera zarządzanego ręcznie, systemu laboratoryjnego, środowiska wymagającego intensywnego rozwiązywania problemów lub maszyny, której rozmiar aplikacji przyćmiewa obciążenie systemu operacyjnego.
Jeśli Twoja decyzja opiera się wyłącznie na przepustowości, nie wybieraj na podstawie ogólnego procentu z czyjegoś komputera. Zainstaluj oba na identycznych instancjach testowych, znormalizuj stos aplikacji i zmierz rzeczywiste obciążenie.
Jak zweryfikować wynik
Zanim ogłosisz zwycięzcę, sprawdź pięć rzeczy: oba komputery korzystają z tej samej wersji Ubuntu 24.04 i tego samego jądra; oba otrzymały te same aktualizacje; ustawienia procesora, pamięci RAM, dysku, systemu plików i wirtualizacji są zgodne; listy usług uruchomieniowych są zapisane; testy porównawcze aplikacji są powtarzane wystarczająco często, aby wykryć zakłócenia. Zapisz listę pakietów i polecenia benchmarku wraz z wynikami, aby test można było później powtórzyć.
Dobry wniosek zazwyczaj oddziela rozmiar instalacji od przepustowości. Na przykład: „Minimum zużywało mniej zainstalowanych pakietów i mniej miejsca na dysku w tym środowisku, podczas gdy benchmark aplikacji mieścił się w granicach normalnych wahań między uruchomieniami po identycznej konfiguracji obu systemów”. To bardziej przydatne niż twierdzenie, że jedna instalacja jest uniwersalnie szybsza.
W przypadku Ubuntu Server 24.04 minimalna wersja to prostszy punkt wyjścia; standardowa jest wygodniejsza. Zysk na wydajności jest najbardziej widoczny w kwestii zajmowanego miejsca i narzutu związanego z provisionowaniem. O tym, czy wpłynie to na szybkość produkcji, powinno decydować Twoje własne obciążenie, a nie etykieta instalatora.