La ricerca in Jellyfin può rallentare man mano che la libreria cresce, quando l’elaborazione delle query o l’insieme di dati utilizzato supera la capacità degli indici efficienti e del riutilizzo della cache.
La sola crescita non dimostra che esista un problema del database. Un catalogo più grande può modificare il numero di record, relazioni e richieste di immagini, mentre le scansioni o le scritture in background aggiungono contesa. Mantieni invariati query e client, quindi separa i tempi del database dal caricamento delle immagini e dal rendering dell’interfaccia.
La crescita modifica il lavoro delle query
Una libreria in crescita aggiunge titoli, persone, generi, percorsi, ID dei provider e relazioni che la ricerca può esaminare o collegare. Il costo dipende dalla struttura della query e dall’adeguatezza degli indici, non solo dalla quantità di byte multimediali.
Usa il modello dei ruoli dei dati persistenti per ragionare in termini di record e relazioni, invece di considerare un unico valore di “dimensione della libreria”.
Una grande raccolta di file cinematografici può rimanere reattiva se il numero di oggetti indicizzati è contenuto, mentre molti elementi di piccole dimensioni possono aumentare rapidamente il lavoro delle query.
Gli indici devono corrispondere alla struttura della query
Un indice è utile quando l’ordine delle chiavi e la selettività corrispondono ai filtri o all’ordinamento utilizzati. Una query che richiede testo ampio, collega diverse relazioni o ordina un risultato voluminoso può comunque analizzare più dati rispetto a una ricerca mirata.
Confronta la query con una spiegazione generale di latenza e throughput dello storage per capire come differiscono la latenza dello storage e i modelli di accesso; il risultato preciso in Jellyfin dipende dal percorso del database e del client.
La misurazione utile è la stessa query prima e dopo la crescita, non un benchmark basato su un modello di ricerca diverso.
Cache e storage possono sembrare costi della query
Le pagine del database non presenti in cache, i file delle immagini e i metadati del filesystem possono far sembrare la ricerca più lenta anche quando il piano della query non è cambiato. Le scansioni o i backup in background possono aggiungere accodamento ed espellere pagine utili tra un’esecuzione e l’altra.
Separa i casi a freddo e a caldo con il metodo di benchmark a freddo e a caldo prima di attribuire la causa alla crescita del catalogo.
Se la seconda ricerca è veloce ma la prima è lenta, la cache o lo storage contribuiscono all’esperienza. Se sono entrambe lente, il lavoro della query o la contesa del database meritano maggiore attenzione.
Verifica le cause distinguendole dai falsi indizi
Misura separatamente il tempo della query, il rendering dei risultati, il caricamento delle immagini, la latenza dello storage e le scritture in background. Poi ripeti il test dopo aver messo in pausa un’attività concorrente o modificato una variabile della richiesta.
Un breve flusso di lavoro sul comportamento dei client Jellyfin può mostrare se il sintomo riguarda il lavoro del database, il percorso delle immagini o l’interfaccia del client.
Smetti di attribuire il rallentamento alla crescita della libreria quando la rimozione di un’altra causa ripristina il comportamento normale. La crescita è la condizione; il meccanismo limitante richiede comunque prove.
Hub Tecnologico e AI
Altro da leggere

Le telecamere domestiche possono sincronizzare gli eventi senza servizi di sincronizzazione dell’ora nel cloud?
Una spiegazione basata prima di tutto sul meccanismo del tempo della fotocamera senza cloud, dei compromessi legati alle risorse condivise, tre domande frequenti sulla...

Un servizio di IA locale può rilevare i livelli del modello danneggiati prima dell'inferenza?
Una spiegazione della rilevazione della corruzione a livello del modello basata innanzitutto sul meccanismo, dei compromessi legati alle risorse condivise, di tre FAQ sull'amplificazione...

È possibile ripristinare un sistema RAG senza rigenerare ogni embedding?
Una spiegazione di RAG Restore senza re-embedding, incentrata sui meccanismi, dei compromessi legati alle risorse condivise, tre FAQ sull'espansione delle query e un protocollo...

