Så testar du om Immich är CPU-, minnes-, nätverks- eller lagringsbegränsat

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Testa Immich med en enda upprepningsbar åtgärd, koppla dess latens till resursväntetider och bekräfta den misstänkta flaskhalsen genom ett kontrollerat ingrepp.

En ögonblicksbild av en instrumentpanel kan inte skilja nyttig aktivitet från skadlig konkurrens om resurser. Mät en enda slutpunkt – exempelvis godkännande av uppladdning, visning av miniatyrbilder eller svar från smart sökning – under fasta medie- och klientförhållanden och ändra sedan endast den misstänkta begränsande resursen.

Definiera en slutpunkt och en reproducerbar baslinje

Börja med att beskriva slutpunkten i observerbara termer. ”Immich är långsamt” går inte att testa, men ”samma tjugo miniatyrbilder i tidslinjen tar fyra sekunder att visas efter en omstart” gör det. Lås klient, nätverkssökväg, konto, fotoalbum och startförhållande så att senare körningar endast skiljer sig åt genom en avsiktlig variabel.

Immichs datasökvägsmodell visar att uppladdning, bearbetning, databasanrop och mediedistribution passerar genom olika beroenden. Ett test som fokuserar på sökresultat bör mäta resultatlistan separat från bildrenderingen. Annars rapporteras en snabb sökning följd av långsamma filläsningar som en enda odifferentierad fördröjning.

Kör baslinjen minst tre gånger och spara både medianen och den långsammaste relevanta percentilen. Registrera ködjup, processoranvändning per container, minnestryck, växlingsaktivitet, nätverkstrafik och omsändningar, disklatens samt I/O-ködjup. Ett påstående om en flaskhals måste koppla resursens signal till slutpunktens fördröjning.

Skilj processorbelastning från minnestryck

Vid en processorbegränsad körning väntar körbart arbete på processortid, så slutpunktens latens bör följa en varaktigt hög kärnbelastning eller strypning. En minnesbegränsad körning kan i stället visa återvinning, växling, avslutade containrar eller upprepad modellinläsning. Båda kan få processor grafer att se upptagna ut, men deras ingrepp ger olika resultat.

En aktuell oberoende resursguide för Immich delar upp användningen mellan servern, PostgreSQL, Redis och maskininlärningskomponenterna i stället för att behandla det totala RAM-minnet som ett enda krav. Den synen på tjänstenivå är viktig eftersom ledigt minne på värddatorn kan samexistera med en för låg containergräns, medan en stor filcache inte automatiskt innebär minnesbrist.

Verifiera processortryck genom att sänka samtidigheten för bakgrundsarbetare eller tilldela mer processorkapacitet medan minnet hålls konstant. Verifiera minnestryck genom att ta bort växlingsaktivitet eller höja en begränsad minnesgräns utan att ändra antalet arbetare. Om slutpunkten inte förbättras konsekvent ska du avfärda den resursen som den primära begränsningen i detta test.

Skilj nätverksfördröjning från lagringsfördröjning

Nätverks- och lagringsbegränsningar uppträder ofta tillsammans eftersom fjärrmedier passerar genom båda. En överbelastad länk begränsar överförda byte per sekund, medan lagringskonkurrens ökar tiden tills läsningar eller skrivningar slutförs, även på en lugn länk. Testning från endast en fjärrklient kan därför hänföra långsam filleverans till fel lager.

Kingstons SSD-analys betonar bakgrundsarbete, inbyggd programvara, cachelagring och värddatorns kommandon, som påverkar lagringens svarstid utöver den angivna sekventiella topphastigheten. För Immich ger många små miniatyrbilds- och databasoperationer mer informativa resultat för latens och köbeteende än ett enda bandbreddstest med en stor fil.

Upprepa slutpunktstestet från en trådbunden lokal klient och sedan från den normala fjärranslutningen utan att ändra serverns dataset. Läs separat en representativ uppsättning filer på värddatorn och övervaka enhetens latens. Förbättring endast hos den lokala klienten pekar på nätverkssökvägen; kvarstående väntetider på värddatorsidan pekar på lagringen eller dess monteringspunkt.

-15% OFF
Single board computer zimaboard2

Använd en åtgärdsmatris för att godkänna eller avfärda varje orsak

Skriv fyra rader före testningen: processor, minne, nätverk och lagring. Ge varje rad ett förväntat symtom, ett riktat ingrepp och ett villkor för avfärdande. Det hindrar diagnosen från att ändras efter att resultaten har visat sig och gör ett negativt resultat användbart i stället för att bli ett skäl att köpa flera uppgraderingar på en gång.

En offentlig fält rapport om Immich med fördröjda miniatyrbilder trots betydande internetbandbredd visar varför specifikationer ensamma inte räcker. Det relevanta beviset är om en riktad förändring påverkar den uppmätta slutpunkten medan mediekohorten, cacheförhållandet, jobben, klienten och programversionen förblir oförändrade.

Godkänn processor som orsak endast om minskad processorbelastning förbättrar latensen, minne endast om minskad återvinning gör det, nätverk endast om förbättring av nätverkssökvägen gör det och lagring endast om minskad väntetid på enheten eller monteringspunkten gör det. Om två ingrepp hjälper ska du upprepa dem i båda ordningarna, eftersom den andra flaskhalsen kanske blir synlig först när den första har tagits bort.

Teknik- och AI-hubb

Mer att läsa

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.