Dela via


Begränsningar i Azure Database for PostgreSQL – flexibel server

GÄLLER FÖR: Azure Database for PostgreSQL – flexibel server

I följande avsnitt beskrivs kapacitets- och funktionsgränser i Azure Database for PostgreSQL – flexibel server. Om du vill lära dig mer om resursnivåer (beräkning, minne, lagring) kan du läsa artiklarna om beräkning och lagring .

Maximalt antal anslutningar

I följande tabell visas det maximala standardantalet anslutningar för varje prisnivå och vCore-konfiguration. Azure Database for PostgreSQL – flexibel server reserverar 15 anslutningar för fysisk replikering och övervakning av Azure Database for PostgreSQL– flexibel serverinstans. Därför minskas värdet för maximala användaranslutningar som anges i tabellen med 15 från det totala maximala antalet anslutningar.

Produktnamn Virtuella kärnor Minnesstorlek Maximalt antal anslutningar Maximala användaranslutningar
Burstbar
B1ms 1 2 GiB 50 35
B2s 2 4 GiB 429 414
B2ms 2 8 GiB 859 844
B4ms 4 16 GiB 1,718 1,703
B8ms 8 32 GiB 3,437 3,422
B12ms 12 48 GiB 5 000 4,985
B16ms 16 64 GiB 5 000 4,985
B20ms 20 80 GiB 5 000 4,985
Generell användning
D2s_v3/D2ds_v4/D2ds_v5/D2ads_v5 2 8 GiB 859 844
D4s_v3/D4ds_v4/D4ds_v5/D4ads_v5 4 16 GiB 1,718 1,703
D8s_v3/D8ds_V4/D8ds_v5/D8ads_v5 8 32 GiB 3,437 3,422
D16s_v3/D16ds_v4/D16ds_v5/D16ads_v5 16 64 GiB 5 000 4,985
D32s_v3/D32ds_v4/D32ds_v5/D32ads_v5 32 128 GiB 5 000 4,985
D48s_v3/D48ds_v4/D48ds_v5/D48ads_v5 48 192 GiB 5 000 4,985
D64s_v3/D64ds_v4/D64ds_v5/D64ads_v5 64 256 GiB 5 000 4,985
D96ds_v5/D96ads_v5 96 384 GiB 5 000 4,985
Minnesoptimerad
E2s_v3/E2ds_v4/E2ds_v5/E2ads_v5 2 16 GiB 1,718 1,703
E4s_v3/E4ds_v4/E4ds_v5/E4ads_v5 4 32 GiB 3,437 3,422
E8s_v3/E8ds_v4/E8ds_v5/E8ads_v5 8 64 GiB 5 000 4,985
E16s_v3/E16ds_v4/E16ds_v5/E16ads_v5 16 128 GiB 5 000 4,985
E20ds_v4/E20ds_v5/E20ads_v5 20 160 GiB 5 000 4,985
E32s_v3/E32ds_v4/E32ds_v5/E32ads_v5 32 256 GiB 5 000 4,985
E48s_v3/E48ds_v4/E48ds_v5/E48ads_v5 48 384 GiB 5 000 4,985
E64s_v3/E64ds_v4/E64ds_v5/E64ads_v5 64 432 GiB 5 000 4,985
E96ds_v5/E96ads_v5 96 672 GiB 5 000 4,985

De reserverade anslutningsfacken, som för närvarande är 15 år, kan ändras. Vi rekommenderar att du regelbundet verifierar de totala reserverade anslutningarna på servern. Du beräknar det här talet genom att summera värdena för reserved_connections serverparametrarna och superuser_reserved_connections . Det maximala antalet tillgängliga användaranslutningar är max_connections - (reserved_connections + superuser_reserved_connections).

Standardvärdet för max_connections serverparametern beräknas när du etablerar instansen av en flexibel Azure Database for PostgreSQL-server baserat på det produktnamn som du väljer för dess beräkning. Eventuella efterföljande ändringar av produktval i beräkningen som stöder den flexibla servern påverkar inte standardvärdet för serverparametern för den instansen max_connections . Vi rekommenderar att du när du ändrar den produkt som tilldelats till en instans också justerar värdet för parametern max_connections enligt värdena i föregående tabell.

Ändra värdet för max_connections

När du först konfigurerar din flexibla Azure Database for Postgres-serverinstans bestämmer den automatiskt det högsta antalet anslutningar som den kan hantera samtidigt. Det här numret baseras på serverns konfiguration och kan inte ändras.

Du kan dock använda inställningen max_connections för att justera hur många anslutningar som tillåts vid en viss tidpunkt. När du har ändrat den här inställningen måste du starta om servern för att den nya gränsen ska börja fungera.

Varning

Även om det är möjligt att öka värdet max_connections för utöver standardinställningen rekommenderar vi det.

Instanser kan stöta på problem när arbetsbelastningen expanderas och kräver mer minne. När antalet anslutningar ökar ökar även minnesanvändningen. Instanser med begränsat minne kan stöta på problem som krascher eller långa svarstider. Även om ett högre värde för max_connections kan vara acceptabelt när de flesta anslutningar är inaktiva kan det leda till betydande prestandaproblem när de har blivit aktiva.

Om du behöver fler anslutningar rekommenderar vi att du i stället använder PgBouncer, den inbyggda Azure-lösningen för hantering av anslutningspooler. Använd den i transaktionsläge. Till att börja med rekommenderar vi att du använder konservativa värden genom att multiplicera de virtuella kärnorna inom intervallet 2 till 5. Övervaka därefter noggrant resursutnyttjande och programprestanda för att säkerställa en smidig drift. Detaljerad information om PgBouncer finns i PgBouncer i Azure Database for PostgreSQL – flexibel server.

När anslutningar överskrider gränsen kan du få följande fel:

FATAL: sorry, too many clients already.

När du använder en flexibel Azure Database for PostgreSQL-server för en upptagen databas med ett stort antal samtidiga anslutningar kan det uppstå en betydande belastning på resurserna. Den här belastningen kan leda till hög CPU-användning, särskilt när många anslutningar upprättas samtidigt och när anslutningarna har korta varaktigheter (mindre än 60 sekunder). Dessa faktorer kan påverka databasens övergripande prestanda negativt genom att öka den tid som ägnas åt att bearbeta anslutningar och frånkopplingar.

Tänk på att varje anslutning i Azure Database for PostgreSQL– flexibel server, oavsett om den är inaktiv eller aktiv, förbrukar en betydande mängd resurser från databasen. Den här förbrukningen kan leda till prestandaproblem utöver hög CPU-användning, till exempel disk- och låskonkurring. I artikeln Antal databasanslutningar på PostgreSQL Wiki beskrivs det här avsnittet mer detaljerat. Mer information finns i Identifiera och lösa anslutningsprestanda i Azure Database for PostgreSQL – flexibel server.

Funktionsbegränsningar

I följande avsnitt listas överväganden för vad som stöds och inte stöds i en flexibel Azure Database for PostgreSQL-server.

Skalningsåtgärder

  • För närvarande kräver uppskalning av serverlagringen en omstart av servern.
  • Serverlagring kan bara skalas i steg om 2 gånger. Mer information finns i Lagring .
  • Det finns för närvarande inte stöd för att minska serverlagringsstorleken. Det enda sättet att göra är att dumpa och återställa den till en ny flexibel Azure Database for PostgreSQL-serverinstans.

Storage

  • När du har konfigurerat lagringsstorleken kan du inte minska den. Du måste skapa en ny server med önskad lagringsstorlek, utföra en manuell dumpnings- och återställningsåtgärd och migrera dina databaser till den nya servern.
  • När lagringsanvändningen når 95 % eller om den tillgängliga kapaciteten är mindre än 5 GiB (beroende på vilket som är mer) växlas servern automatiskt till skrivskyddat läge för att undvika fel som är associerade med diskfyllda situationer. I sällsynta fall kan servern fortfarande få slut på lagringsutrymme om datatillväxten överskrider den tid det tar att växla till skrivskyddat läge. Du kan aktivera automatisk lagringsväxning för att undvika dessa problem och automatiskt skala lagringen baserat på dina arbetsbelastningskrav.
  • Vi rekommenderar att du anger aviseringsregler för storage used eller storage percent när de överskrider vissa tröskelvärden så att du proaktivt kan vidta åtgärder som att öka lagringsstorleken. Du kan till exempel ange en avisering om lagringsprocenten överskrider 80 % användning.
  • Om du använder logisk replikering måste du släppa det logiska replikeringsfacket på den primära servern om motsvarande prenumerant inte längre finns. Annars ackumuleras WAL-filerna (write-ahead loggning) i den primära filen och fyller upp lagringen. Om lagringen överskrider ett visst tröskelvärde och om det logiska replikeringsfacket inte används (på grund av en otillgänglig prenumerant) släpper Azure Database for PostgreSQL flexibel server automatiskt det oanvända logiska replikeringsfacket. Den åtgärden frigör ackumulerade WAL-filer och förhindrar att servern blir otillgänglig eftersom lagringen är fylld.
  • Vi stöder inte skapandet av tabellområden. Om du skapar en databas ska du inte ange något tabellområdesnamn. Azure Database for PostgreSQL – flexibel server använder standardservern som ärvs från malldatabasen. Det är osäkert att tillhandahålla ett tabellområde som det tillfälliga, eftersom vi inte kan se till att sådana objekt förblir beständiga efter händelser som serveromstarter och redundansväxlingar med hög tillgänglighet (HA).

Nätverk

  • Det går för närvarande inte att flytta in och ut från ett virtuellt nätverk.
  • Det går för närvarande inte att kombinera offentlig åtkomst med distribution i ett virtuellt nätverk.
  • Brandväggsregler stöds inte i virtuella nätverk. Du kan använda nätverkssäkerhetsgrupper i stället.
  • Databasservrar för offentlig åtkomst kan ansluta till det offentliga Internet. till exempel via postgres_fdw. Du kan inte begränsa den här åtkomsten. Servrar i virtuella nätverk kan ha begränsad utgående åtkomst via nätverkssäkerhetsgrupper.

Hög tillgänglighet

Tillgänglighetszoner

  • Det går för närvarande inte att flytta servrar till en annan tillgänglighetszon manuellt. Men genom att använda den önskade tillgänglighetszonen som väntelägeszon kan du aktivera HA. När du har upprättat väntelägeszonen kan du redundansväxla till den och sedan inaktivera HA.

Postgres-motor, tillägg och PgBouncer

  • Postgres 10 och äldre versioner stöds inte eftersom communityn med öppen källkod drog tillbaka dem. Om du måste använda någon av dessa versioner måste du använda alternativet Azure Database for PostgreSQL – enskild server , som stöder de äldre huvudversionerna 9.5, 9.6 och 10.
  • Azure Database for PostgreSQL – flexibel server stöder alla contrib tillägg med mera. Mer information finns i PostgreSQL-tillägg.
  • Den inbyggda PgBouncer-anslutningspoolen är för närvarande inte tillgänglig för Burstable-servrar.

Stoppa/starta åtgärder

  • När du har stoppat azure database for PostgreSQL-instansen för flexibel server startar den automatiskt efter 7 dagar.

Schemalagt underhåll

  • Du kan ändra fönstret för anpassat underhåll till valfri dag/tid i veckan. Ändringar som du gör när du har fått underhållsmeddelandet påverkar dock inte nästa underhåll. Ändringarna börjar gälla endast med följande månatliga schemalagda underhåll.

Serversäkerhetskopior

  • Systemet hanterar säkerhetskopior. Det finns för närvarande inget sätt att köra säkerhetskopior manuellt. Vi rekommenderar att du använder pg_dump i stället.

  • Den första ögonblicksbilden är en fullständig säkerhetskopia och på varandra följande ögonblicksbilder är differentiella säkerhetskopior. Differentiella säkerhetskopior säkerhetskopierar endast ändrade data sedan den senaste säkerhetskopieringen av ögonblicksbilden.

    Om storleken på databasen till exempel är 40 GB och din etablerade lagring är 64 GB blir den första säkerhetskopieringen av ögonblicksbilden 40 GB. Om du nu ändrar 4 GB data blir nästa differentiella säkerhetskopieringsstorlek för ögonblicksbilder bara 4 GB. Transaktionsloggarna (loggningsloggarna) är separata från de fullständiga och differentiella säkerhetskopiorna och arkiveras kontinuerligt.

Serveråterställning

  • När du använder funktionen för återställning till tidpunkt (PITR) skapas den nya servern med samma beräknings- och lagringskonfigurationer som den server som den baseras på.
  • Databasservrar i virtuella nätverk återställs till samma virtuella nätverk när du återställer från en säkerhetskopia.
  • Den nya servern som skapades under en återställning har inte de brandväggsregler som fanns på den ursprungliga servern. Du måste skapa brandväggsregler separat för den nya servern.
  • Återställning till en annan prenumeration stöds inte. Som en lösning kan du återställa servern inom samma prenumeration och sedan migrera den återställde servern till en annan prenumeration.

Säkerhet

  • MD5-hashning är inaktiverat från Postgres 14 och senare versioner och interna Postgres-lösenord hashas endast med hjälp av METODEN SCRAM-SHA-256.