Så minskar du belastningen på Plex-databasen på en hårt belastad Docker-värd

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.

Minska konkurrensen om Plex-databasen genom att skydda dess I/O för appdata från konkurrerande skrivningar och behålla databasen som privat Plex-tillstånd i stället för en delad tjänst.

Blir Plex-navigeringen eller biblioteksarbetet långsammare när en annan container startar en säkerhetskopiering, indexering, nedladdning eller databaskörning? Mät disklatensen för appdata under överlappningen innan du ändrar Plex interna funktioner. Plex använder sina egna databasfiler i serverns datakatalog; den praktiska justeringsmöjligheten på en Docker-värd är vanligtvis lagringsisolering, arbetsbelastningsschemaläggning och stabilt ledigt utrymme – inte att öka en anslutningspool för databasen.

Bekräfta att långsamheten följer I/O för appdata

Plex biblioteksfunktioner är beroende av den lokala databasen och metadatasökvägen, så en skrivintensiv grannprocess kan få programmet att kännas långsamt även när CPU och nätverk är tillgängliga. Den första frågan är om problemet följer disklatensen på enheten för appdata.

Utan uttryckliga resursbegränsningar för containrar kan en närliggande tjänst förbruka CPU, minne eller lagrings-I/O under samma toppperiod och påverka Plex beteende. Det är utgångsläget som måste fastställas vid konkurrens om Plex-databasen.

Om Plex blir responsivt så snart den konkurrerande skrivbelastningen upphör, och samma media normalt spelas upp direkt, tyder bevisen på konkurrens om delad lagring snarare än ett klient- eller transkodarproblem.

Separera databassökvägen från masskrivningar

Placera Plex appdata på en beständig sökväg med låg latens och identifiera vilka andra containrar som delar samma enhet. Upprepa den överlappande arbetsbelastningen medan du observerar diskväntetid eller latens, inte bara den totala genomströmningen.

Vid mätning av konkurrens om Plex-databasen lagrar Plex ofta åtkomligt biblioteksinnehåll i en SQLite-databas. Därför bör databaslatens och integritet utvärderas separat från massmediegenomströmningen.

Håll Plex-databasen privat för Plex-instansen. Exponera den inte som en databastjänst för andra containrar och kör inte flera Plex-instanser mot samma aktiva databasfiler.

Justera värden innan du försöker reparera databasen

Om databasen är frisk bör du börja med ändringar av lagring och schemaläggning. Databasoptimering kan i vissa fall hjälpa vid fragmenterat serverinnehåll, men den löser inte problemet med en enhet som är överbelastad av orelaterade skrivningar.

Se till att appdatavolymen har ledigt utrymme och undvik nätverksfilsystem för aktivt databastillstånd när tillförlitlig lokal lagring finns tillgänglig. En snabb nätverksdelning kan ändå ha latens och frånkopplingsbeteende som är olämpligt för applikationstillstånd.

Testa samma överlappning igen efter ändringen och starta om Plex-containern en gång. Åtgärden är lyckad när navigering, genomsökningar och tillståndsuppdateringar förblir stabila medan den närliggande arbetsbelastningen körs på förväntad nivå.

-15% OFF
Single board computer zimaboard2

Dela upp arbetsbelastningar när konkurrensen kvarstår

Sluta justera Plex-inställningar när samma fysiska lagringsenhet inte kan hantera båda arbetsbelastningarna samtidigt. Fortsatt optimering av programmet skapar inte den I/O-kapacitet som lagringslagret saknar.

En maskinvaruaccelererad mediestack är enklare att utvärdera när rollerna för beräkning, appdata, medielagring och nätverk dokumenteras separat.

Flytta den motstridiga appen, Plex appdata eller den tunga skrivbelastningen till en separat enhet när den återkommande konkurrensen kvarstår. Gå vidare till databasreparation endast när det finns tecken på integritetsproblem eller korruption, inte bara för att servern är långsam.

  1. Mät disklatensen för appdata under den konkurrerande arbetsbelastningen
  2. Separera eller schemalägg skrivintensiva containrar
  3. Håll Plex-databasen privat för en enda aktiv serverinstans
  4. Testa igen efter en omstart av containern

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.