Non esiste un limite universale utile al numero di elementi di Jellyfin che indichi quando un singolo host è “pieno”. Il limite pratico si raggiunge quando il database, la memoria, lo spazio di archiviazione, i processi pianificati o la riproduzione simultanea non riescono più a rispettare l’obiettivo di tempo di risposta.
Due librerie con lo stesso numero di film possono sollecitare un server in modo molto diverso, perché differiscono per densità dei metadati, immagini dei capitoli, dati trickplay, archiviazione di rete, combinazione di client e necessità di transcodifica. Misura l’host con il tuo carico di lavoro reale e definisci un limite che possa essere verificato nuovamente dopo ogni importante espansione della libreria.
Inizia dall’ingombro del database, non dal numero di file multimediali
Jellyfin memorizza lo stato della libreria nel database, mentre i file multimediali restano nel filesystem. Con la crescita del catalogo, la prima metrica utile è quindi la dimensione e il comportamento dell’insieme di dati di Jellyfin, non i terabyte complessivi dei file video.
La documentazione di Jellyfin sull’archiviazione osserva che il database di una libreria di dimensioni moderate può raggiungere circa 10–100 GB e consiglia di mantenerlo su uno spazio di archiviazione locale anziché su una condivisione di rete. indicazioni sull’archiviazione del database
Registra le dimensioni del database, lo spazio libero sul volume dei dati e il tempo necessario per aprire le viste di librerie grandi o cercare dopo che la cache si è riscaldata. Se questi valori rimangono stabili mentre cresce la capacità multimediale, le dimensioni dei file non hanno ancora portato l’applicazione oltre il limite di un singolo host.
Misura il margine di memoria dopo il riscaldamento del database
Il comportamento della memoria è più importante nelle versioni recenti di Jellyfin, perché il server può conservare in memoria una grande quantità di dati del database per ridurre le letture dal disco. Un host che sembrava avere risorse sufficienti con un catalogo più piccolo può quindi mostrare un maggiore utilizzo stabile della RAM dopo la crescita della libreria.
Le note di rilascio di Jellyfin 10.11 spiegano che il motore del database memorizza aggressivamente nella cache i metadati in memoria e può utilizzare una quantità di memoria pari alle dimensioni del database della libreria, restituendola quando altri processi ne hanno bisogno. caching del database in memoria
Controlla la memoria disponibile e l’attività di swap dopo che la normale navigazione ha riscaldato la cache. Il segnale d’allarme non è l’elevato utilizzo della cache in sé, ma una pressione prolungata sulla memoria, l’uso della swap o una latenza che compare quando Jellyfin entra in competizione con altri container e scompare quando tale contesa viene rimossa.
Cronometra i processi in background che crescono con la libreria
Le scansioni della libreria, l’aggiornamento dei metadati, l’estrazione delle immagini, l’elaborazione dei sottotitoli e altri processi pianificati possono diventare il primo limite di scalabilità anche quando la riproduzione rimane fluida. Misura la durata di questi processi e verifica se si sovrappongono agli orari in cui le persone utilizzano effettivamente il server.
L’estrazione delle immagini dei capitoli è un esempio di costo di scalabilità documentato direttamente da Jellyfin: abilitarla durante una scansione della libreria può rallentare notevolmente le scansioni, soprattutto nelle librerie grandi. costo della scansione delle immagini dei capitoli
Se una scansione completa occupa ormai la maggior parte della finestra di manutenzione, riduci innanzitutto il lavoro non necessario o sposta le attività più onerose lontano dalle ore di punta. Una scansione più lunga non significa automaticamente che l’host sia sottodimensionato; diventa un problema di capacità quando la manutenzione entra ripetutamente in conflitto con l’uso interattivo o non si completa mai in modo affidabile.
Separa la scalabilità della libreria da quella della transcodifica
Un catalogo enorme non rende necessariamente costoso uno streaming in riproduzione diretta, mentre un catalogo piccolo può sovraccaricare una CPU quando diversi client incompatibili richiedono la transcodifica video. Tratta la scalabilità del catalogo e la conversione durante la riproduzione come test di capacità separati.
Esegui un test di riproduzione ripetibile con la combinazione di client che utilizzi realmente: uno streaming in riproduzione diretta, una transcodifica tipica e poi il picco simultaneo previsto. Se il catalogo cresce ma questi test di riproduzione rimangono invariati, non hai raggiunto un limite di transcodifica dovuto alle dimensioni della libreria.
Quando la saturazione della CPU compare solo durante la transcodifica, ottimizza i codec, l’accelerazione hardware o la compatibilità dei client prima di attribuire la colpa al database. La guida all’accelerazione hardware è un passaggio successivo più pertinente rispetto allo spostamento di un database dei metadati sano su un secondo server.
Controlla la latenza dello storage e la disponibilità dei contenuti durante i carichi di scansione
Le librerie grandi spesso si estendono su più dischi o su un NAS, quindi il percorso verso i contenuti può diventare il livello limitante. Confronta la navigazione interattiva e la riproduzione con e senza una scansione della libreria in esecuzione e controlla la coda del disco o la latenza della condivisione di rete lungo il percorso dei contenuti.
Jellyfin consiglia di montare lo storage Samba o NFS direttamente nel sistema operativo e avverte che la manutenzione pianificata può rimuovere elementi dalla libreria se lo storage non è disponibile quando viene eseguita un’attività. attenzione allo storage di rete e alla manutenzione
Se il database è veloce ma le directory dei contenuti scompaiono a intermittenza o le scansioni dei metadati si bloccano su una condivisione lenta, aggiungere CPU non risolverà il vero collo di bottiglia. Risolvi prima l’affidabilità del montaggio, la latenza dello storage o la pianificazione dei processi, quindi ripeti lo stesso test.
Definisci il tuo limite per un singolo host con un test ripetibile
Crea una scheda di valutazione prima della prossima espansione della libreria: latenza della ricerca a cache calda, tempo di apertura di una raccolta grande, durata della scansione completa, dimensioni del database, RAM disponibile, latenza massima dello storage e un test rappresentativo di riproduzione simultanea. Usa le stesse misurazioni ogni volta.
Un pratico flusso di lavoro per un centro multimediale domestico separa già lo storage dei contenuti dal livello applicativo di Jellyfin; mantieni questa separazione nel test per capire se il rallentamento proviene dall’host, dal percorso dello storage o dai client.
Considera superato il limite del singolo host solo quando un obiettivo misurato non viene rispettato ripetutamente dopo ottimizzazioni a basso rischio: le richieste interattive rimangono lente, le scansioni non riescono a completarsi nella finestra di manutenzione, la pressione sulla memoria provoca l’uso della swap, la latenza dello storage non può essere isolata oppure le transcodifiche necessarie superano la potenza di calcolo disponibile. A quel punto, i dati indicano quale risorsa espandere, invece di imporre una soglia arbitraria al numero di elementi.
Supporto e consigli
Altro da leggere

È meglio eseguire il backup di Home Assistant mentre è in funzione o arrestare prima il servizio?
I backup integrati di Home Assistant possono essere eseguiti a caldo; le semplici copie del file system dovrebbero arrestare o mettere in pausa Home...

Perché un server Home Assistant diventa caldo o rumoroso durante le ore di inattività?
Metti in correlazione i picchi della ventola o della temperatura di Home Assistant con Recorder, i backup, le integrazioni e i processi eseguiti sullo...

Quando dovresti ricostruire Home Assistant invece di ripararlo?
Ripara prima il livello di Home Assistant guasto più piccolo, ripristina poi uno stato noto e funzionante, e ricostruisci solo quando non è possibile...

