Jellyfin zwykle generuje skokowe operacje we/wy dysku, ponieważ zadania wykonywane w tle są kolejkowane, przetwarzane etapami i zapisywane partiami, a nie w sposób ciągły.
Na serwerze domowym skanowanie biblioteki może odczytać wiele plików, zaktualizować bazę danych, pobrać grafiki, a następnie wykonać punkt kontrolny pamięci masowej; osobne zadanie transkodowania może dodać kolejny skok obciążenia. Ten wzorzec ma znaczenie, gdy opóźnienia kolejki, przerwy w odtwarzaniu lub mała ilość wolnego miejsca pokazują, że ograniczeniem jest ścieżka pamięci masowej, a nie sam kształt skoków obciążenia.
Obserwuj skok obciążenia jako etap pracy
Wykorzystanie dysku gwałtownie rośnie, spada i powtarza się podczas skanowania lub odtwarzania. Istotna zależność jest następująca: zaplanowane zadania i segmenty odtwarzania tworzą odrębne partie odczytów, zapisów i zatwierdzeń metadanych.
Obserwowalny efekt jest następujący: wykres urządzenia pokazuje krótkie okresy wysokiego poziomu kolejki, rozdzielone spokojniejszymi przerwami. Dlatego wynik zmienia się w zależności od podanego warunku. opóźnienie kolejki
Granica jest konkretna: skok obciążenia z prawidłowym zakończeniem i małym opóźnieniem jest normalny; powtarzające się narastanie kolejki lub przekroczenia limitu czasu już nie. Praktyczny wniosek: przed zmianą ustawień pamięci masowej sprawdź czas występowania zdarzeń.
Śledź działania użytkownika aż do pracy w kolejce
Skok obciążenia ma powtarzalny znacznik czasu lub wyzwalacz. Istotna zależność jest następująca: żądanie może umieścić w kolejce wyszukiwanie biblioteki, generowanie obrazów, zapisy w bazie danych lub przygotowanie segmentów, zanim urządzenie zostanie użyte.
Obserwowalny efekt jest następujący: ta sama czynność powoduje skok obciążenia tylko wtedy, gdy wybrana zostanie ścieżka braku danych w pamięci podręcznej, skanowania lub transkodowania. Dlatego wynik zmienia się w zależności od podanego warunku. czasy urządzenia
Granica jest konkretna: odtwarzanie bezpośrednie może pozwolić uniknąć większości zapisów; zdalne transkodowanie lub nowy element metadanych może je ponownie wywołać. Praktyczny wniosek: podczas porównywania śladów utrzymuj stałe urządzenie klienckie i multimedia.
Połącz zapisy bazy danych, metadanych i obszaru roboczego
Klasa zadania jest znana, ale wykres dysku pokazuje wiele szczytów. Istotna zależność jest następująca: punkty kontrolne SQLite, pobieranie metadanych i tymczasowe zapisy segmentów mają różne rozmiary bloków oraz różne czasy opróżniania bufora.
Obserwowalny efekt jest następujący: małe synchroniczne zapisy grupują się wokół zatwierdzeń bazy danych, podczas gdy większe zapisy sekwencyjne pojawiają się w danych wyjściowych obszaru roboczego. Dlatego wynik zmienia się w zależności od podanego warunku. punkty kontrolne bazy danych
Granica jest konkretna: szybka baza danych nie usunie problemu wolnego montowania multimediów ani pełnego woluminu obszaru roboczego. Praktyczny wniosek: analizuj opóźnienia odczytu i wskaźniki wolnego miejsca dla każdej ścieżki, a nie tylko łączną przepustowość.
Określ, kiedy skokowe we/wy stają się szkodliwe
Źródła skoków obciążenia i ścieżki są zmapowane. Istotna zależność jest następująca: nasycenie występuje, gdy czas obsługi przekracza termin odtwarzania lub zadania, przez co kolejki utrzymują się do następnego etapu.
Obserwowalny efekt jest następujący: odtwarzanie buforuje, zaplanowane zadania przekraczają czas wykonania albo urządzenie zgłasza rosnący czas oczekiwania i błędy. Dlatego wynik zmienia się w zależności od podanego warunku. granica opóźnienia pamięci masowej
Granica jest konkretna: jeśli opóźnienie pozostaje ograniczone, a zadania kończą się przed kolejnym wyzwoleniem, skok obciążenia nie jest czynnikiem ograniczającym. Praktyczny wniosek: przed wymianą sprzętu zmierz opóźnienie kolejki, czas trwania zadań i ilość wolnego miejsca.
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...

