Finjustera Immich på en liten hemmaserver genom att först skydda responsiviteten för uppladdningar och databasen, och därefter begränsa eller schemalägga arbete med miniatyrbilder, video och maskininlärning utifrån uppmätt belastning på processor, minne och lagring.
Den relevanta arbetsbelastningen är inte en instrumentpanel i viloläge, utan kvällen då flera telefoner laddar upp foton och videor samtidigt som säkerhetskopieringar, sökningar och jobb för genererat medieinnehåll konkurrerar om resurserna. Fånga denna belastningstopp, ändra en samtidighets- eller schemakontroll i taget och bevara original samt säkerhetskopior av databasen. En långsammare kö är acceptabel; misslyckade uppladdningar, växling till disk eller en databasen som inte svarar är det inte.
Mät den mest intensiva familjeuppladdningen innan du finjusterar
Skapa en representativ omgång med foton från telefoner, korta videor och ett större videoklipp. Registrera tiden tills uppladdningen är klar, jobbködjup, processoranvändning, minne, växlingsutrymme, disklatens, ledigt utrymme och nätverksgenomströmning från start tills kön åter är tom. Denna baslinje visar vilken resurs som faktiskt når sin kapacitetsgräns.
En diskussion om Immachs maskininlärning på en liten server visar hur hårdvaruråd varierar beroende på bibliotekets storlek, modellval och om bearbetningen kan köras senare. Använd denna jämförelse som beror på arbetsbelastningen för att undvika att köpa eller finjustera utifrån inaktiv användning.
Godkänt innebär att uppladdningarna förblir responsiva och att kön töms inom ditt acceptabla tidsfönster. Om minnet börjar växla till disk eller containrar startas om, minska samtidigheten först. Om processorn är fullt belastad men interaktionen förblir responsiv, schemalägg tungt arbete. Om lagringslatensen ökar mellan tjänsterna, skydda den aktiva datasökvägen innan du ändrar modeller.
Begränsa samtidiga jobb och schemalägg tungt arbete
Minska samtidigheten för den uppmätta tunga kön i stället för att globalt svälta alla arbetare. Videotranskodning och maskininlärning belastar ofta olika resurser, medan metadataextrahering och miniatyrbilder påverkar den upplevda beredskapen. Ändra en kö, kör samma omgång igen och jämför både responsivitet och tömningstid.
Schemalägg stora biblioteksskanningar, säkerhetskopieringar och valfri ombearbetning utanför familjens uppladdningsfönster. Överlappa inte en lagringsögonblicksbild, databasunderhåll och videotranskodning på en server med en enda långsam disk. Ett godkänt resultat minskar konkurrensen om resurser utan att lämna efter sig en ständigt växande kö.
Håll gränserna för nya försök och loggar synliga under finjusteringen. Om jobb misslyckas, återställ den tidigare inställningen och åtgärda felet i stället för att minska antalet arbetare tills felet blir mindre märkbart. Målet är begränsat arbete, inte dolt arbete.
Håll aktiv data snabb och originalen skyddade
Placera databasen och ofta skrivna genererade data på tillförlitlig lagring med låg latens när det är möjligt, och välj samtidigt lagringsnivå för original utifrån kapacitet, beständighet och säkerhetskopieringsdesign. Undvik att flytta den råa databaskatalogen till en tillfällig nätverksresurs bara för att frigöra lokalt utrymme.
En oberoende guide för att köra Immich själv illustrerar de bredare besluten kring lagring, åtkomst och fjärranvändning för en fototjänst i hushållet. Använd den som arkitektursammanhang och validera sedan dina egna sökvägar och beteenden vid fel.
ZimaSpaces guide för säkerhetskopiering av familjefoton hjälper till att hålla finjusteringen underordnad återställningsmöjligheten. Snabbare bearbetning kompenserar inte för en otestad databas och en säkerhetskopia av originalfilerna.
Testa familjens arbetsflöde igen och fastställ en stoppgräns
Upprepa samma omgång medan en annan familjemedlem bläddrar, söker och hämtar ett original. Godkänt kräver lyckade uppladdningar, användbar interaktion, ingen växlingsspiral eller omstart av containrar samt en kö som töms inom det planerade lågtrafikfönstret.
Starta om servern, bekräfta att monteringar och begränsningar kvarstår och testa sedan en telefons bakgrundsuppladdning utanför det lokala nätverket. Följ den högsta belastningen under en vecka i stället för genomsnittsanvändningen. Överväg ny hårdvara först när samma namngivna resurs upprepade gånger överskrider målet efter säker finjustering.
Återställ en begränsning om köerna aldrig töms eller om genererade resurser fortfarande saknas. Sluta lägga till samtidiga jobb när det lediga utrymmet sjunker under det uppmätta kravet för belastningstoppen. Eskalera med den fasta testomgången, diagram över processor, minne och lagringslatens, könamn samt inställningarna före och efter ändringen, i stället för en enda skärmbild av resursanvändningen.
Support och tips
Mer att läsa

Så optimerar du Immich-databasanslutningar för samtidiga containrar
Höj inte max_connections först. Mät Immich-sessionerna, summera alla containers behov, behåll utrymme för administratörsåtkomst och justera bara den flaskhals som har bevisats.

Så förhindrar du duplicerade jobb eller importer i Immich
Separera upprepade jobb från duplicerade resurser. Använd en enda kanonisk inläsningsväg, kontrollera omförsök och sökvägsändringar och testa sedan återinmatning på en liten grupp.

Så reparerar du Immich när dess databasvolym blir full
Ta aldrig bort PostgreSQL-WAL för att frigöra utrymme. Stoppa skrivningar till Immich, bevara databastillståndet, lägg till säker lagringskapacitet, återställ PostgreSQL och förhindra sedan att...

