Optimera Home Assistants databasanslutningar genom att budgetera det totala antalet över alla containrar, inte genom att maximera en enda pool. Lämna utrymme för databasadministration och bakgrundsarbete, och validera sedan Recorder under samtidig uppstart och den mest belastade normala skrivperioden.
På en delad MariaDB- eller PostgreSQL-värd är det viktiga talet summan av varje tjänsts möjliga anslutningar multiplicerat med antalet körande instanser, plus underhålls- och nödåtkomst. Mät aktiva, inaktiva, väntande och misslyckade anslutningar tillsammans med frågelatens och lagringsbelastning. Om du använder SQLite kan du sluta läsa här: att flytta fler containrar till samma databasfil är inte finjustering av anslutningspoolen.
Bekräfta databasens topologi och det aktuella anslutningsbehovet
Dokumentera databasmotor och version, Home Assistant Recorder-URL, alla andra klientcontainrar, antal repliker, konfigurerad pool, tidsgräns, omförsöksbeteende och omstartspolicy. Bekräfta att varje tjänst har en egen databasanvändare så att aktiva sessioner kan kopplas till rätt tjänst.
Mät databasens maximala antal anslutningar, aktuella sessioner per användare och tillstånd, högsta antal sessioner under uppstart och normal belastning, väntetider, frågelatens, CPU, minne och lagringslatens. Ett högt antal anslutningar kan vara ett symtom på långsamt arbete snarare än orsaken; att lägga till fler sessioner på en överbelastad disk ökar vanligtvis bara konkurrensen.
Använd ZimaSpace-guiden om tillförlitlighet för externa Home Assistant-databaser för att kontrollera säkerhetskopiering, schemabehörigheter, stöd för databasmotorn och gränser för uppgraderingar innan du finjusterar samtidigheten.
Skapa en anslutningsbudget för alla containrar
Reservera anslutningar för databasadministration, övervakning, migreringar, säkerhetskopior och interna motoruppgifter. Fördela den återstående applikationsbudgeten mellan tjänsterna utifrån uppmätt samtid igt arbete, inte installerat RAM eller ett kopierat värde för maximalt antal anslutningar.
Riktlinjer för anslutningspooler i tjänster med flera instanser tydliggör den viktiga beräkningen: databasen måste stödja poolstorlek multiplicerad med antal instanser. Principen gäller brett, men varje version av Home Assistant och databasen kräver fortfarande sina egna inställningar som stöds.
Börja med begränsade pooler och köer. Om efterfrågan kortvarigt överstiger poolen kan väntan vara säkrare än att öppna obegränsat många sessioner; om väntetiden blir märkbar för användaren bör du undersöka fråge- och lagringslatens innan du ökar poolen. Behåll uttryckliga tidsgränser för anslutning och hämtning av anslutningar så att fel synliggörs i stället för att förbli hängande på obestämd tid.
Styr omstarter, omförsök och inaktiva anslutningar
Sprid ut uppstarten av containrar så att Home Assistant, instrumentpaneler, analysverktyg, säkerhetskopior och importverktyg inte alla ansluter på nytt och kör migreringar samtidigt. Använd hälsokontroller som testar att databasen faktiskt är redo, men undvik täta omförsöksloopar som skapar en anslutningsstorm medan databasen återhämtar sig.
Ställ endast in livslängd för inaktiva anslutningar och återanvändningsbeteende med hänsyn till databasens, drivrutinens, proxyns och nätverkets tidsgränser. En pool som behåller döda sessioner för länge orsakar fel; en pool som byter anslutningar för aggressivt tillför autentiserings- och initieringskostnader. Ändra ett lager av tidsgränser i taget.
Om en anslutningsproxy införs ska du verifiera transaktionssemantik, migreringar, förberedda instruktioner och kompatibilitet med Home Assistant i en testmiljö. En proxy ersätter inte analys av långsamma frågor, lås, minne eller lagring.
Minska databasarbetet innan du ökar samtidigheten
Granska Recorders lagringstid, exkluderade högfrekventa entiteter, rensningsbeteende, databasstorlek och långsamma frågor. Om en Home Assistant-fråga håller en anslutning under lång tid kan minskning av onödiga data eller åtgärdande av lagringslatens förbättra genomströmningen säkrare än att lägga till sessioner.
Separera tung analys eller långsiktiga mätvärden från Recorder endast när den nya pipelinen har en tydlig modell för ägarskap och lagringstid. Rikta inte orelaterade containrar mot Home Assistants schema och låt dem inte skriva till Recorders tabeller; använd API:er som stöds eller separata databaser.
Kontrollera minne per anslutning, buffertkonfiguration, väntande lås och lagringslatens igen innan du höjer databasserverns gräns. Servern måste förbli responsiv vid den planerade högsta belastningen och ha tillräcklig kapacitet för återställning och administration.
Validera under samtidig uppstart och högsta Recorder-belastning
Starta om databasen och klientcontainrarna i planerad ordning och upprepa sedan med den mest belastade säkra överlappningen: Home Assistant-uppstart, historikfrågor, importeringar, säkerhetskopior och en annan tjänsts högsta belastning. Övervaka antal anslutningar, väntetid för att hämta anslutningar, fel, frågelatens, lås och I/O för värden.
En godkänd konfiguration håller Home Assistants styrning och historik responsiva, håller sig inom anslutningsbudgeten, bevarar administratörsåtkomst och tömmer tillfälliga köer efter belastningstoppen. Starta om två gånger och observera nästa schemalagda underhållsfönster för att bekräfta att inställningarna består.
Återställ ändringarna om tidsgränser, fel om för många anslutningar, minnestryck i databasen eller eftersläpning i Recorder förvärras. Eskalera med topologin, sessionsantal per användare, poolinställningar, belägg för långsamma frågor och lagringsmätvärden i stället för ett enda värde för maximalt antal anslutningar.
Support och tips
Mer att läsa

Så förhindrar du duplicerade jobb eller importer i Home Assistant
Använd spårningsdata och unika åtgärdsnycklar för att göra automatiseringar och importer säkra att försöka igen utan att skapa dubbla åtgärder eller poster.

Så reparerar du Home Assistant efter att databasvolymen blivit full
Återställ efter en full Recorder-volym utan att först radera bevismaterial, minska sedan tillväxten och bevisa att historik och automatiseringar överlever en omstart.

Varför återskapar Home Assistant saknade filer med fel ägare?
Matcha UID och GID för körningen med värdsökvägen, reparera endast de berörda filerna när tjänsten är stoppad och verifiera ägarskapet efter återskapandet.

