Rzeczywisty limit wydajności Jellyfin jest zwykle wyznaczany przez pierwszy element zależności, który zostaje wysycony w aktywnej ścieżce odtwarzania, a nie przez najszybszy komponent.
Odtwarzanie bezpośrednie, remuksowanie, konwersja programowa, transkodowanie sprzętowe i dostarczanie zdalne zużywają różne zasoby. Wydajny procesor nie naprawi ograniczenia przepustowości wysyłania, a dysk SSD nie sprawi, że niekompatybilny klient będzie obsługiwał odtwarzanie bezpośrednie. Znajdź pierwszy etap, który nie mieści się w wymaganym czasie przy obciążeniu, którego rzeczywiście potrzebujesz.
Tryb odtwarzania określa zestaw wykorzystywanych zasobów
Odtwarzanie bezpośrednie polega głównie na odczytywaniu i przesyłaniu źródła, natomiast transkodowanie dodaje dekodowanie, filtry, mapowanie tonów, nakładanie napisów, kodowanie i pamięć tymczasową. Sesje zdalne mają dodatkowo budżet dostarczania, który może nie być wykorzystywany podczas odtwarzania lokalnego.
Model limitu zależnego od pierwszej wąskiej gardła mapuje tryb odtwarzania na zależności, które mogą stać się ograniczeniem.
Nie istnieje jeden limit dla każdej sesji; użyteczny limit zależy od obciążenia.
Współbieżność zwielokrotnia wybrane operacje
Dwie sesje nie zwiększają automatycznie dwukrotnie zużycia każdego zasobu. Mogą współdzielić metadane i ścieżki sieciowe, jednocześnie dodając osobne zadania transkodowania, albo wszystkie korzystać z tego samego łącza wysyłania.
Użyj metody wykorzystania i wysycenia, aby sprawdzić wykorzystanie, wysycenie i błędy zależności faktycznie używanej przez każdą sesję.
Wysokie łączne zużycie pamięci nie jest powodem do zakupu RAM-u, jeśli problem zaczyna się dokładnie w chwili wysycenia kodera lub ścieżki wysyłania.
Jeden test porównawczy nie odzwierciedla każdego scenariusza
Przypadek odtwarzania bezpośredniego w rozdzielczości 1080p nie pozwala przewidzieć wypalania napisów w materiale 4K HDR, a test w sieci LAN nie przewidzi zdalnej sesji mobilnej. Możliwości klienta i formaty multimediów mogą przenieść wąskie gardło do innego etapu.
Rozróżnienie zachowania klienta Jellyfin i ścieżki klienta pozwala uniknąć uśredniania niekompatybilnych obciążeń w jeden mylący wynik.
Gdy po zmianie obciążenia wąskie gardło się przesuwa, potraktuj to jako nowy tryb działania, a nie sprzeczność.
Znajdź pierwszy wysycony etap
Zacznij od trybu odtwarzania, a następnie sprawdź moc obliczeniową, sieć, pamięć masową, szybkość reakcji danych aplikacji i zgodność klienta. Stopniowo zwiększaj współbieżność i odnotuj pierwszy powtarzalny przypadek tworzenia kolejki, błąd lub niedotrzymanie terminu.
Protokół testowy modelu limitu zależnego od pierwszej wąskiej gardła zapewnia ścieżkę akceptacji opartą na pierwszej ograniczającej zależności.
Modernizuj wyłącznie zależność, która blokuje wymagane obciążenie, i zakończ modernizację, gdy cel zostanie osiągnięty z mierzalnym zapasem wydajności.
Centrum Technologii i Sztucznej Inteligencji
Więcej do przeczytania

Dlaczego architektura Home Assistant zmienia się, gdy serwer domowy obsługuje więcej usług?
Więcej usług zmienia architekturę Home Assistanta, gdy dodają współdzielony stan, kolejki, urządzenia, cykle aktualizacji lub domeny awarii — a nie tylko więcej kontenerów.

Jak mierzyć wydajność Home Assistant, nie myląc pamięci podręcznej z możliwościami sprzętu
Ciepły wynik potwierdza ponowne wykorzystanie, a nie wydajność. Zmierz zimny start, ciepły stan ustalony, powtarzające się obciążenie, opóźnienie ogona oraz pierwszy zasób, który osiąga...

Ile równoległych automatyzacji potrzebuje Home Assistant do sterowania całym domem?
Większość automatyzacji obejmujących cały dom wymaga jedynie ograniczonego nakładania się uruchomień; określ maksymalną równoległość na podstawie czasu trwania uruchomienia × częstotliwości wyzwalania, a następnie...

