Jak opóźnienia pamięci masowej wpływają na strumieniowanie w Jellyfin dla wielu użytkownikó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.

Opóźnienia pamięci masowej wpływają na Jellyfin używany przez wielu użytkowników, gdy wiele operacji odczytu i małych operacji związanych ze stanem czeka na tyle długo, że zmniejsza margines bufora klienta.

Dysk może deklarować wystarczającą przepustowość sekwencyjną dla kilku strumieni, a mimo to reagować słabo, gdy użytkownicy przewijają, wczytywane są metadane, uruchamiane są skany lub inna usługa zapisuje dane na tym samym urządzeniu. Zachowanie przy wielu użytkownikach zależy więc zarówno od kolejkowania, jak i od liczby megabajtów na sekundę. W każdym teście używaj tych samych strumieni i obciążenia działającego w tle, aby zmiany czasu oczekiwania i głębokości kolejki można było przypisać pamięci masowej.

Przepustowość sekwencyjna to tylko część budżetu pamięci masowej

Długie odczyty plików multimedialnych są przyjazne dla dysków, ale uruchamianie odtwarzania, przewijanie, plakaty, operacje na bazie danych i współbieżny dostęp do plików wprowadzają mniejsze i mniej przewidywalne operacje. Te opóźnienia mogą stać się widoczne, zanim łączna szybkość przesyłania danych osiągnie maksymalną wartość dla urządzenia.

Opóźnienie i przepustowość opisują różne właściwości pamięci masowej, dlatego pojedynczy test sekwencyjny nie może potwierdzić, że czas reakcji przy wielu użytkownikach pozostanie niski.

Zmierz długotrwały odczyt pliku oraz osobno zadanie intensywnie wykorzystujące operacje wyszukiwania lub metadane, a następnie powtórz je, gdy aktywnych jest kilka sesji.

Dane aplikacji i multimedia mogą konkurować ze sobą nawet przy różnych rodzajach obciążenia

Przechowywanie bazy danych i metadanych na tym samym wolnym woluminie co multimedia zbiorcze może sprawić, że małe odczyty stanu będą czekać za długimi transferami. Rezultatem może być powolne działanie interfejsu, podczas gdy samo odtwarzanie pozostaje w większości stabilne.

Zachowanie przy dostępie losowym różni się od sekwencyjnych operacji wejścia-wyjścia, co ma znaczenie, gdy małe odczyty stanu i długie transfery multimediów współdzielą urządzenie.

Przenieś wyłącznie ścieżkę danych aplikacji na warstwę o mniejszych opóźnieniach i przeprowadź kontrolne porównanie. Jeśli przeglądanie poprawi się, a przepustowość multimediów pozostanie bez zmian, ścieżka danych stanu była częścią problemu.

Współbieżni użytkownicy zamieniają małe opóźnienia w kolejkowanie

Wielu użytkowników może niemal jednocześnie otwierać różne pliki, przewijać i żądać grafik. Inny kontener lub zadanie tworzenia kopii zapasowej może dodatkowo generować zapisy, zamieniając pojedyncze, akceptowalne opóźnienia w utrzymującą się głębokość kolejki.

Obciążenia działające obok siebie mogą powodować mierzalne zakłócenia w wykorzystaniu zasobów, nawet gdy każda aplikacja przechodzi test samodzielnie.

Uruchom tę samą liczbę strumieni z konkurencyjnym procesem zapisującym i bez niego. Topologia centrum multimedialnego NAS jest łatwiejsza do dostrojenia, gdy stan aplikacji, multimedia i zadania działające w tle mają jasno określone role pamięci masowej.

-15% OFF

Modernizuj pamięć masową dopiero po odtworzeniu problemu z kolejką

Zakup dysków SSD nie rozwiąże problemu z kodekiem klienta ani przeciążonej sieci. Pamięć masowa jest właściwym celem działań dopiero wtedy, gdy to samo opóźnienie widoczne dla użytkownika odpowiada czasowi oczekiwania na operacje wejścia-wyjścia i poprawia się po usunięciu obciążenia I/O.

Metoda USE jasno pokazuje nasycenie i błędy, pomagając odróżnić rzeczywiście zajęty zasób pamięci masowej od zasobu, który jest jedynie aktywny.

Wykonaj powtarzalny test z wieloma użytkownikami, zidentyfikuj urządzenie tworzące kolejkę i zmieniaj za każdym razem tylko jedną zmienną dotyczącą rozmieszczenia danych. Przestań modernizować sprzęt, gdy kolejkowanie spadnie, ale objaw pozostanie w innym miejscu.

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.