Dlaczego Jellyfin działa inaczej na dyskach SSD i HDD?

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.

Jellyfin działa szybciej na SSD, gdy dominują wrażliwe na opóźnienia dane aplikacji, podczas gdy HDD może być w pełni wystarczający do dużych sekwencyjnych odczytów multimediów.

Interfejs, wyszukiwanie, grafiki, baza danych, aktualizacje skanowania i pamięć podręczna transkodowania korzystają z pamięci masowej w różny sposób niż film odczytywany do przodu z szybkością odpowiadającą jego przepływności. SSD przede wszystkim zmienia opóźnienie dostępu i zachowanie podczas losowych operacji wejścia-wyjścia; nie poprawia automatycznie transkodowania ograniczonego wydajnością procesora ani wysycenia sieci. Najlepszy projekt oddziela aktywny stan Jellyfin od multimediów przechowywanych pojemnościowo, zamiast traktować pojedynczy wynik testu dysku jako pełny obraz działania serwera.

Stan aplikacji wpływa na wrażenia związane z opóźnieniami

Baza danych Jellyfin, metadane, grafiki, logi i konfiguracja obejmują wiele mniejszych operacji oraz wyszukiwań w katalogach. Czynności wykonywane przez użytkownika, takie jak otwieranie biblioteki, ładowanie plakatów, wyszukiwanie czy aktualizowanie stanu odtwarzania, mogą oczekiwać na te operacje, dlatego opóźnienie dostępu do urządzenia staje się widoczne jako szybkość reakcji interfejsu. Dyski SSD zmniejszają koszt wyszukiwania, który szczególnie obciąża dyski mechaniczne.

Oficjalny przewodnik sprzętowy Jellyfin wyraźnie zaleca dyski SSD dla własnych plików, ponieważ wykonują one wiele losowych operacji dostępu, podczas gdy pamięć na multimedia jest oceniana głównie pod kątem szybkości sekwencyjnej. Ten podział pamięci masowej według dostępu losowego bezpośrednio wyjaśnia, dlaczego przeniesienie stanu aplikacji może przyspieszyć przeglądanie, nawet gdy każdy film pozostaje w tej samej puli HDD.

Granica przebiega na aktywnej ścieżce. Jeśli baza danych jest już rozgrzana w pamięci, a żądanie nie wymaga niebuforowanej grafiki, urządzenie może mieć niewielki wpływ na tę interakcję. Mierz osobno działanie na zimno i po rozgrzaniu, aby korzyść z SSD nie była zawyżona przez porównanie zimnego uruchomienia na HDD z rozgrzanym uruchomieniem na SSD.

Pliki multimedialne zwykle bardziej korzystają z przepustowości niż z krótkiego czasu wyszukiwania

Film odtwarzany w trybie Direct Play jest zazwyczaj odczytywany w dużych, następujących po sobie porcjach, co znacznie lepiej odpowiada zaletom HDD niż losowemu dostępowi typowemu dla bazy danych. Dopóki urządzenie może utrzymać łączną przepływność równoczesnych strumieni z odpowiednim zapasem, zastąpienie warstwy multimediów dyskiem SSD może przynieść niewielką widoczną poprawę odtwarzania. W przypadku dużych zbiorów ważniejsze mogą być pojemność, hałas, zużycie energii i sposób odtwarzania po awarii.

Dokumentacja pamięci masowej Jellyfin opisuje pliki multimedialne jako obciążenie o sekwencyjnej przepustowości, a osobno ostrzega przed umieszczaniem danych serwera na wolnej pamięci mechanicznej. Wskazówki dotyczące danych multimedialnych i danych serwera wspierają projekt warstwowy: używaj pamięci masowej o niskich opóźnieniach tam, gdzie losowe operacje aplikacji tego wymagają, a ekonomicznej pamięci pojemnościowej tam, gdzie odczyty sekwencyjne już spełniają wymagania przepływności.

Granica przebiega przy równoczesnych wyszukiwaniach i nietypowym dostępie do multimediów. Kilka niezależnie przeszukujących strumieni, skanowanie rozdziałów, generowanie miniatur lub inna usługa odczytująca z tego samego dysku mogą zaburzyć niemal sekwencyjny wzorzec. Gdy głowica musi przemieszczać się między niepowiązanymi żądaniami, opóźnienie HDD staje się widoczne, nawet jeśli przepływność każdego pojedynczego filmu pozostaje niewielka.

Pamięć podręczna stron systemu Linux może po rozgrzaniu ukryć fizyczny dysk

Odczyty zarówno z SSD, jak i HDD mogą po wczytaniu użytecznych stron do pamięci stać się odczytami z pamięci RAM. Dlatego powtarzające się zapytania do bazy danych lub ładowanie grafik może wydawać się podobne, nawet gdy wydajność przy zimnym dostępie znacznie się różni. Krótki test, który wielokrotnie korzysta z tych samych obiektów, może więc mierzyć ponowne wykorzystanie pamięci RAM bardziej niż pamięć masową, szczególnie na serwerze z wystarczającą ilością pamięci dla aktywnego zestawu metadanych.

Model pamięci podręcznej stron systemu Linux wyjaśnia, że zwykłe odczyty plików wypełniają strony pamięci, a kolejne żądania mogą być obsługiwane bez operacji dyskowej do czasu eksmisji tych stron. W przypadku Jellyfin wniosek jest prosty: porównuj opóźnienie pierwszego użycia i kolejnych użyć oraz rejestruj fizyczne operacje wejścia-wyjścia, zanim przypiszesz każdą różnicę w szybkości reakcji samemu urządzeniu pamięci masowej.

Granica przebiega przy rozmiarze zestawu roboczego i presji na pamięć. Duży katalog, kilka kontenerów lub ścisłe limity pamięci mogą usuwać użyteczne strony z pamięci podręcznej i ponownie ujawniać wpływ urządzenia. Korzyść z SSD staje się trwalsza, gdy aktywny zestaw metadanych wielokrotnie przekracza pojemność pamięci podręcznej; HDD może zaskakująco dobrze działać, gdy niemal wszystko, co ważne, znajduje się już w pamięci.

Mieszane odczyty i zapisy potęgują ograniczenia HDD

Odtwarzanie może przebiegać sekwencyjnie do chwili, gdy skanowanie biblioteki, pobieranie, kopia zapasowa, zatwierdzenie transakcji w bazie danych lub zapis segmentu transkodowania przerwie ten wzorzec. Dyski mechaniczne ponoszą fizyczny koszt wyszukiwania, gdy obciążenie przeskakuje między niepowiązanymi lokalizacjami, podczas gdy SSD obsługują losowy dostęp ze znacznie mniejszym opóźnieniem. Dlatego serwer HDD może działać dobrze w nocy, a podczas nakładającego się okna konserwacji wyraźnie zwalniać.

Przewodnik ZimaSpace dotyczący buforowania opisuje ten sam efekt mieszanego wejścia-wyjścia: zwykłe odczyty multimediów mogą współistnieć przy niskim obciążeniu, po czym skanowanie i intensywne zapisy wykonywane przez sąsiednie zadania powodują rywalizację i zwiększają opóźnienia. Jego mieszane obciążenie pamięci masowej lepiej wyjaśnia sporadyczne spowolnienia niż założenie, że każdy HDD jest z definicji zbyt wolny dla Jellyfin.

Granica przebiega przy współdzielonej kolejce. Jeśli przeniesienie bazy danych na SSD nie zmienia kolejkowania urządzenia, ponieważ kopie zapasowe nadal wysycają tę samą pulę multimediów, poprawa odczuwana przez użytkownika może być ograniczona. Oddziel obciążenie tworzące kolejkę, a nie tylko typ danych, który najłatwiej przenieść.

Zamiast zasady „tylko SSD” wykonaj test rozmieszczenia pamięci masowej

Przeprowadź pomiary dla tego samego klienta i tych samych multimediów w czterech sytuacjach: zimne otwarcie biblioteki, powtórne otwarcie biblioteki po rozgrzaniu, czas do wyświetlenia pierwszej klatki w trybie Direct Play oraz odtwarzanie podczas zwykłego skanowania lub intensywnej pracy sąsiedniego zadania. Rejestruj opóźnienie bazy danych lub metadanych, przepustowość multimediów, długość kolejki urządzenia i stan pamięci podręcznej. Następnie przenieś tylko aktywny stan Jellyfin na SSD i powtórz test bez zmiany plików multimedialnych ani klienta.

Struktura analizy wysycenia pamięci masowej pomaga ocenić, czy zmiana warstwy rzeczywiście usunęła oczekiwanie. Pozostaw multimedia na HDD, gdy przepustowość pozostaje wyraźnie wyższa od łącznej przepływności strumieni, a kolejki mają ograniczoną długość; używaj SSD dla stanu aplikacji, gdy niższe opóźnienie losowego dostępu konsekwentnie poprawia przypadki zimnego dostępu lub mieszanego obciążenia, które użytkownicy faktycznie odczuwają.

Nie przenoś wszystkich multimediów na SSD tylko dlatego, że panel staje się szybszy po przeniesieniu danych aplikacji. Zwiększ klasę pamięci multimediów dopiero wtedy, gdy zmierzone równoczesne odczyty, wyszukiwania lub mieszane operacje wejścia-wyjścia ją wysycają. Jeśli parametry pamięci masowej pozostają prawidłowe, a odtwarzanie zawodzi, skieruj uwagę na transkodowanie, zgodność klienta, pamięć lub sieć, zamiast kupować szybsze dyski do niewłaściwego wąskiego gardła.

Rola danych Typowy wzorzec Preferowany test
Baza danych / metadane Małe losowe odczyty i zapisy Opóźnienie zimnego przeglądania i wyszukiwania
Pliki multimedialne Duże sekwencyjne odczyty Łączna przepustowość strumieni
Pamięć podręczna transkodowania Zapisy i odczyty tymczasowych segmentów Długość kolejki segmentów podczas konwersji
Mieszane zadania konserwacyjne Konkurujące losowe i sekwencyjne operacje wejścia-wyjścia Odtwarzanie podczas skanowania lub tworzenia kopii zapasowej

Centrum Technologii i Sztucznej Inteligencji

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.