Jak zaprojektować jeden serwer Plex do obsługi aplikacji wymagających dużych zasobów

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Jeden host Plex może współdzielić sprzęt z aplikacjami wymagającymi dużych zasobów, ale układ powinien najpierw chronić odtwarzanie i stan Plex, a dopiero potem maksymalizować całkowite wykorzystanie zasobów.

Najlepszy projekt zaczyna się od rozdzielenia ról: odtwarzanie Plex i dane aplikacji, media masowe, zadania pobierania lub indeksowania, kopie zapasowe oraz usługi intensywnie obciążające CPU lub GPU. Gdy te role są jasno określone, można zdecydować, które zasoby mogą być współdzielone, które wymagają limitów i które obciążenia powinny działać o różnych porach.

Przypisz role, zanim ustawisz limity zasobów

Współdzielonym serwerem łatwiej zarządzać, gdy każda usługa ma określone obciążenie, zamiast korzystać z jednej, niepodzielonej puli kontenerów. Plex może potrzebować przewidywalnych opóźnień dostępu do danych aplikacji i krótkich skoków mocy obliczeniowej podczas transkodowania, podczas gdy programy pobierające i zadania wsadowe mogą tolerować opóźnienia.

Współdzielone ścieżki pamięci masowej i harmonogram przepływu pracy stają się jawne w wielousługowym stosie multimediów, w którym Plex działa obok programów pobierających, indeksatorów i narzędzi do obsługi żądań.

Zapisz, jakie obciążenie CPU, pamięci, pamięci masowej, sieci i akceleratora może generować każda usługa w najbardziej obciążonej typowej godzinie. Jeśli dwie role kolidują ze sobą wyłącznie dlatego, że działają jednocześnie, harmonogram może rozwiązać problem, zanim konieczna będzie izolacja sprzętowa.

Chroń ścieżkę opóźnień Plex

Odtwarzanie Plex może lepiej znosić obciążonego hosta niż pozbawioną zasobów ścieżkę danych aplikacji. Operacje na bazie danych, metadanych i pamięci podręcznej są mniejsze i bardziej wrażliwe na opóźnienia niż masowe kopiowanie multimediów, dlatego nie powinny bezkrytycznie konkurować z zapisami kopii zapasowych lub pobieranych plików.

Docker domyślnie nie zapewnia sprawiedliwego współdzielenia zasobów; jawne limity CPU, pamięci i wejścia/wyjścia mogą uniemożliwić jednej usłudze przejęcie wszystkich zasobów hosta podczas nagłego wzrostu obciążenia.

Przechowuj stan Plex na przewidywalnym urządzeniu, zmierz opóźnienia pamięci masowej podczas reprezentatywnego odtwarzania i powtórz test, gdy działa najbardziej obciążające zadanie towarzyszące. Jeśli ścieżka danych aplikacji zwalnia, zanim CPU lub sieć osiągną nasycenie, w pierwszej kolejności odizoluj tę rolę pamięci masowej.

Zaplanuj zadania skokowo obciążające zasoby, zanim rozdzielisz sprzęt

Kopie zapasowe, skanowanie multimediów, lokalne zadania AI i duże importy często potrzebują wielu zasobów przez ograniczony czas. Są dobrymi kandydatami do planowania, ponieważ ważniejszy jest dla nich czas ukończenia niż chwilowe opóźnienie.

Sprawdzenie wykorzystania, nasycenia i błędów na poziomie całego hosta pomaga ustalić, czy nakładanie się zadań rzeczywiście powoduje kolejkowanie pracy CPU, pamięci, pamięci masowej lub sieci, zamiast zakładać, że każda jednoczesna praca wymaga osobnej maszyny.

Przenieś jedno zadanie skokowo obciążające zasoby poza główne godziny oglądania i powtórz ten sam test obciążenia Plex. Konstrukcja, która pozostaje stabilna po wprowadzeniu harmonogramu, jest prostsza niż przedwczesny podział na dwa hosty.

-15% OFF

Rozdziel hosty, gdy jedna rola regularnie pogarsza działanie innej

Rozdzielenie ról staje się opłacalne, gdy wymagana, intensywnie obciążająca usługa nadal pogarsza działanie Plex mimo rozsądnego harmonogramu i kontroli zasobów lub gdy oba obciążenia muszą działać jednocześnie z maksymalną wydajnością.

Topologia, która oddziela moc obliczeniową serwera multimediów od bardziej wymagających obciążeń, zapewnia każdej roli niezależną ścieżkę rozbudowy, bez konieczności przenoszenia biblioteki multimediów za każdym razem, gdy zmieniają się wymagania obliczeniowe.

Pozostaw jeden host, jeśli testy szczytowego obciążenia mieszczą się w uzgodnionych celach dotyczących opóźnień i odtwarzania. Rozdziel role obliczeniowe, pamięć masową lub akceleratory tylko wtedy, gdy ten sam zmierzony konflikt utrzymuje się mimo zastosowania harmonogramu i limitów.

Konfiguracja NAS i serwera

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.