Hoe je kunt bepalen of Immich wordt beperkt door CPU, RAM, opslag of netwerk

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Laat zien wat Immich beperkt door één vaste workload voor uploaden, bladeren, zoeken of achtergrondtaken te reproduceren en het voltooiingspercentage daarvan gedurende hetzelfde interval te correleren met CPU-verzadiging, geheugendruk, opslaglatentie en netwerkdoorvoer.

Een hoog percentage op zichzelf is geen knelpunt: volledige CPU-belasting kan gezond zijn tijdens machinelearning, veel RAM-gebruik kan bestandssysteemcache zijn en een trage upload kan door de telefoon of wifi worden veroorzaakt. Meet vanaf de client via de container en host, leg de voortgang van de wachtrij vast, wijzig vervolgens één vermoedelijke beperking en herhaal de test. De resource waarvan ontlasting dezelfde workload verbetert, is de bepalende beperking.

Bouw één herhaalbare test en tijdlijn

Kies het symptoom dat je wilt verbeteren: een vaste mediabatch verwerken, niet-gecachete originelen openen, miniaturen genereren, Smart Search uitvoeren of één video transcoderen. Noteer de start, het eerste bruikbare resultaat, de voltooiing, fouten en veranderingen in de jobwachtrij. Door taken te mengen ontstaan resourcegrafieken zonder dat je een beslissing kunt nemen.

In één gebruikersonderzoek wordt een ongewoon trage Immich-implementatie beschreven, waarbij werd gezocht naar aanwijzingen in CPU, geheugen, schijf en netwerk. De diagnostische benadering met meerdere resources is nuttig, maar je vaste test moet de oorzaak op jouw server vaststellen.

Herhaal de test eenmaal nadat de caches zijn opgewarmd. Als de tweede run veel sneller is, noteer dan de cachestatus in plaats van de hardware inconsistent te noemen. Als beide runs in dezelfde fase vastlopen, leg dat tijdstip naast de metrics van host en container en de verantwoordelijke job.

Herken patronen van CPU- en geheugenbeperkingen

Een CPU-beperking blijkt uit aanhoudend uitvoerbaar werk op de relevante cores terwijl de job evenredig vordert; een lagere gelijktijdigheid kan de interactie verbeteren, maar de verwerking langer laten duren. Als één thread volledig wordt belast terwijl het totale CPU-gebruik bescheiden lijkt, bekijk dan eerst het overzicht per proces en per core voordat je ervan uitgaat dat er capaciteit over is.

Een geheugenbeperking vereist bewijs van druk: toenemend swapgebruik, reclaim, major page faults, OOM-kills of herstarts van containers. Veel gebruikt geheugen met stabiele cache, zonder swap en met normale latentie doorstaat deze test niet. Herhaal de test met één worker met lagere gelijktijdigheid of met een kleiner model en vergelijk de voltooiing.

In een gemelde Immich v2.5.5-casus met miniaturen werd op één implementatie extreem veel geheugen gebruikt. Het versiegebonden geheugenrapport ondersteunt het controleren van de falende job en release; het stelt geen normale RAM-behoefte vast.

Scheid opslaglatentie van netwerkdoorvoer

Bekijk voor opslag de apparaatlatentie, wachtrijdiepte, doorvoer, beschikbare bestandssysteemruimte en beschikbare inodes terwijl exact die job draait. Een lage megabytes-per-secondewaarde kan nog steeds wijzen op een opslagbeperking wanneer veel kleine database- en miniatuurbewerkingen wachten op een schijf met hoge latentie.

Meet voor het netwerk aan zowel de client- als serverzijde en vergelijk vervolgens lokale en externe paden. Een verzadigde verbinding, hertransmissies, wifi-herhalingen of een VPN-plafond dat samenvalt met de overdracht wijst op een netwerkbeperking. Als het uploadverkeer stopt maar de verwerking traag blijft, volg dan in plaats daarvan de wachtrij aan de serverzijde.

Het ZimaSpace-overzicht van diensten op oudere hardware biedt context voor systeemplanning; deze diagnose moet echter blijven steunen op waargenomen latentie en werksnelheid, niet op ouderdomslabels.

Ontlast één beperking en controleer dezelfde workload

Wijzig één veilige variabele: verlaag de gelijktijdigheid van één job, voeg tijdelijk een geheugentestaanpassing toe, verplaats een kopie van de actieve gegevens naar snellere opslag of test via een bekabeld lokaal netwerk. Houd dataset, versies en cachestatus vergelijkbaar. Verbetering van zowel de voltooiing als de voorspelde metric doorstaat de causale test.

Koop geen hardware op basis van een inactief gemiddelde of één piek. Een resource is een upgrade waard wanneer die herhaaldelijk de belangrijke workload bepaalt nadat softwarefouten, problemen met vrije ruimte en concurrerende geplande werkzaamheden zijn uitgesloten.

Draai wijzigingen terug die de fout naar een andere laag verschuiven of wachtrijen langer maken dan de servic doeltijd. Escaleer met de workloaddefinitie, tijdstempels, metrics per container, schijflatentie, netwerktests, wachtrijvoortgang en logs als het systeem vastloopt terwijl geen enkele resource druk vertoont; dat patroon kan wijzen op een lock, afhankelijkheid of fout in de applicatie.

Ondersteuning & Tips

Meer om te lezen

Dubbele taken of imports in Immich voorkomen
Sep 08, 2026

Dubbele taken of imports in Immich voorkomen

Scheid herhaalde taken van dubbele assets. Gebruik één canoniek ingestiepad, beheer retries en padwijzigingen en test vervolgens opnieuw invoeren op een kleine groep.

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.