Så optimerar du jobb för fotominiatyrer kring säkerhetskopieringsfönster

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.

Generering av miniatyrbilder läser original, skriver många små härledda filer, uppdaterar databasrader och kan konkurrera om CPU-kapacitet med videokodning eller maskininlärning. Om den körs under en NAS-säkerhetskopiering kan båda jobben ta längre tid och latensen öka vid interaktiv bläddring bland foton.

Målet är inte att göra miniatyrbilder permanent långsamma. Mät vilken resurs som krockar med säkerhetskopieringen, minska endast den relevanta samtidigheten och ge varje tungt jobb ett definierat tidsfönster med en återställningsregel om det överskrider tiden. Dokumentera de normala arbetarinställningarna så att tillfällig begränsning inte blir en oupptäckt permanent begränsning.

Mät konflikten innan du ändrar antalet arbetare

Kör en normal säkerhetskopiering utan en kö med väntande miniatyrbilder och notera varaktighet, lagringslatens, nätverkets genomströmning och CPU-användning. Bearbeta en representativ grupp miniatyrbilder en annan dag utan säkerhetskopieringstrafik och registrera samma mätvärden.

Den begränsade resursen avgör åtgärden. Hög disklatens tyder på att läs- och skrivbelastningar bör spridas ut i tid; en överbelastad CPU tyder på att färre bildarbetare behövs; en belastad databasvolym kan kräva att databaslagring separeras från lagring av härledda filer.

Immich tillhandahåller jobbköer och arbetarreglage som beskrivs i dess dokumentation om jobb och arbetare. Notera de aktuella värdena innan du redigerar dem, så att ett misslyckat experiment kan återställas på ett tydligt sätt.

Definiera ett lugnt tidsfönster och en regel för överskriden körtid

Placera säkerhetskopieringar i det tidsfönster där kraven på återställning är högst och reservera sedan ett efterföljande eller föregående tidsfönster för miniatyrbilder. Undvik att starta båda under samma minut, eftersom köstarten kan skapa en topp av filöppningar och databasaktivitet.

Definiera vad som händer om en säkerhetskopiering tar längre tid. En säker regel är att låta miniatyrbildsarbetarna vara begränsade eller pausade tills säkerhetskopieringen rapporterar att den är klar och därefter återställa deras normala samtidighet, i stället för att låta två scheman överlappa okontrollerat.

Behåll ett ikappkörningsfönster efter stora importer. Utan ett sådant kan en låg nattlig arbetargräns göra att användare får vänta i flera dagar på miniatyrbilder, trots att resurser finns tillgängliga under dagen.

Justera samtidigheten efter flaskhalsen

Ändra en arbetargrupp eller ett samtidighetsvärde i taget och bearbeta en grupp av samma storlek. Jämför hur snabbt kön töms med säkerhetskopieringens varaktighet och den interaktiva latensen, i stället för att bedöma resultatet enbart utifrån CPU-användningen.

Om original och säkerhetskopior delar hårddiskar hjälper ofta färre samtidiga bildläsningar mer än en högre CPU-gräns. Om originalen ligger på snabb lagring men databasen är upptagen bör du flytta eller skydda databasbelastningen innan du ökar antalet arbetare.

Se till att nätverksmonteringar är tillförlitliga under båda åtgärderna. Guiden till nätverkslagring för Immich förklarar varför en monterad men stoppad sökväg kan se ut som ett problem med ett programjobb.

-15% OFF
Single board computer zimaboard2

Validera en hel cykel och återställ normal drift

Övervaka en fullständig säkerhetskopiering följd av ett miniatyrbildsfönster. Notera start- och sluttider, maximal lagringslatens, ködjup, misslyckade jobb och om användare kan öppna nya foton under cykeln.

När kön har tömts återställer du samtidigheten till det dokumenterade normalvärdet om den minskade inställningen endast användes som skydd under ikappkörningen. Permanent begränsning bör vara avsiktlig och baseras på uppmätta servicemål.

Ändringen är godkänd när säkerhetskopieringens varaktighet förblir förutsägbar, miniatyrbildsköerna töms inom det planerade ikappkörningsfönstret och inga misslyckade jobb eller saknade resurser uppstår. Återställ den senaste samtidighetsändringen om felfrekvensen eller databaslatensen ökar.

Support och tips

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.