A rugalmas Azure Database for PostgreSQL-kiszolgáló korlátai

A következőkre vonatkozik: Azure Database for PostgreSQL – Rugalmas kiszolgáló

Az alábbi szakaszok a rugalmas Azure Database for PostgreSQL-kiszolgáló kapacitási és működési korlátait ismertetik. Ha szeretne többet megtudni az erőforrás-(számítási, memória-, tárolási) szintekről, tekintse meg a számítási és tárolási cikkeket.

Kapcsolatok maximális száma

Az alábbi táblázat az egyes tarifacsomagokhoz és virtuálismag-konfigurációkhoz tartozó kapcsolatok alapértelmezett maximális számát mutatja. A rugalmas Azure Database for PostgreSQL-kiszolgáló 15 kapcsolatot tart fenn a rugalmas Azure Database for PostgreSQL-kiszolgálópéldány fizikai replikációja és monitorozása céljából. Következésképpen a táblázatban felsorolt maximális felhasználói kapcsolatok értéke 15-tal csökken a teljes maximális kapcsolathoz.

Terméknév Virtuális magok Memória mérete Kapcsolatok maximális száma Felhasználói kapcsolatok maximális száma
Kipukkanható
B1ms 0 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 5000 4,985
B16ms 16 64 GiB 5000 4,985
B20ms 20 80 GiB 5000 4,985
Általános célú
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 5000 4,985
D32s_v3 / D32ds_v4 / D32ds_v5 / D32ads_v5 32 128 GiB 5000 4,985
D48s_v3 / D48ds_v4 / D48ds_v5 / D48ads_v5 48 192 GiB 5000 4,985
D64s_v3 / D64ds_v4 / D64ds_v5 / D64ads_v5 64 256 GiB 5000 4,985
D96ds_v5/ D96ads_v5 96 384 GiB 5000 4,985
Memóriaoptimalizált
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 5000 4,985
E16s_v3 / E16ds_v4 / E16ds_v5 / E16ads_v5 16 128 GiB 5000 4,985
E20ds_v4 / E20ds_v5 / E20ads_v5 20 160 GiB 5000 4,985
E32s_v3 / E32ds_v4 / E32ds_v5 / E32ads_v5 32 256 GiB 5000 4,985
E48s_v3 / E48ds_v4 / E48ds_v5 / E48ads_v5 48 384 GiB 5000 4,985
E64s_v3 / E64ds_v4 / E64ds_v5 / E64ads_v5 64 432 GiB 5000 4,985
E96ds_v5/ E96ads_v5 96 672 GiB 5000 4,985

A fenntartott csatlakozási pontok jelenleg 15-nél változhatnak. Javasoljuk, hogy rendszeresen ellenőrizze a teljes fenntartott kapcsolatot a kiszolgálón. Ezt a számot a kiszolgálói és superuser_reserved_connections a kiszolgálói paraméterek értékeinek reserved_connections összegzésével számítja ki. Az elérhető felhasználói kapcsolatok maximális száma : max_connections (reserved_connections + superuser_reserved_connections).

A kiszolgálóparaméter alapértelmezett értékét a max_connections rugalmas Azure Database for PostgreSQL-kiszolgáló példányának kiépítésekor számítja ki a rendszer a számításhoz kiválasztott terméknév alapján. A rugalmas kiszolgálót támogató számítás termékkijelölésének későbbi módosítása nem befolyásolja az adott példány kiszolgálóparaméterének alapértelmezett értékét max_connections . Javasoljuk, hogy amikor módosítja a példányhoz rendelt terméket, a paraméter értékét max_connections is módosítsa az előző táblázatban szereplő értékek szerint.

A max_connections értékének módosítása

Az Azure Database for Postgres rugalmas kiszolgálópéldányának első beállításakor automatikusan meghatározza az egyidejűleg kezelni kívánt kapcsolatok számát. Ez a szám a kiszolgáló konfigurációján alapul, és nem módosítható.

A beállítással max_connections azonban módosíthatja, hogy egy adott időpontban hány kapcsolat engedélyezett. A beállítás módosítása után újra kell indítania a kiszolgálót, hogy az új korlát működjön.

Figyelemfelhívás

Bár az alapértelmezett beállításon túl is növelhető az érték max_connections , javasoljuk, hogy ellenezzük.

A példányok nehézségekbe ütközhetnek, amikor a számítási feladat kibővül, és több memóriát igényel. A kapcsolatok számának növekedésével a memóriahasználat is nő. A korlátozott memóriával rendelkező példányok problémákba ütközhetnek, például összeomlásokkal vagy nagy késéssel. Bár a nagyobb érték max_connections elfogadható lehet, ha a kapcsolatok többsége tétlen, az aktívvá válás után jelentős teljesítményproblémákhoz vezethet.

Ha több kapcsolatra van szüksége, javasoljuk, hogy inkább a PgBouncert, a kapcsolatkészletek kezelésére szolgáló beépített Azure-megoldást használja. Használja tranzakciós módban. Első lépésként javasoljuk, hogy konzervatív értékeket használjon a virtuális magok 2–5 tartományon belüli megszorzásával. Ezután gondosan monitorozza az erőforrás-kihasználtságot és az alkalmazás teljesítményét a zökkenőmentes működés érdekében. A PgBouncerrel kapcsolatos részletes információkért lásd: PgBouncer in Azure Database for PostgreSQL – Flexible Server.

Ha a kapcsolatok túllépik a korlátot, a következő hibaüzenet jelenhet meg:

FATAL: sorry, too many clients already.

Ha rugalmas Azure Database for PostgreSQL-kiszolgálót használ nagy számú egyidejű kapcsolattal rendelkező foglalt adatbázishoz, az erőforrások jelentős terhelést jelenthetnek. Ez a terhelés magas cpu-kihasználtságot eredményezhet, különösen akkor, ha sok kapcsolat jön létre egyidejűleg, és ha a kapcsolatok rövid időtartamúak (kevesebb mint 60 másodperc). Ezek a tényezők negatívan befolyásolhatják az adatbázis általános teljesítményét azáltal, hogy növelik a kapcsolatok és a leválasztások feldolgozására fordított időt.

Vegye figyelembe, hogy az Azure Database for PostgreSQL rugalmas kiszolgálóinak minden egyes kapcsolata – függetlenül attól, hogy tétlen vagy aktív – jelentős mennyiségű erőforrást használ fel az adatbázisból. Ez a felhasználás teljesítményproblémákhoz vezethet a magas processzorhasználaton túl, például lemez- és zárolási versengéshez. A PostgreSQL Wiki adatbázis-Csatlakozás ions című cikke részletesebben ismerteti ezt a témakört. További információ: A rugalmas Azure Database for PostgreSQL-kiszolgáló kapcsolati teljesítményének azonosítása és megoldása.

Funkcionális korlátozások

Az alábbi szakaszok a rugalmas Azure Database for PostgreSQL-kiszolgálón támogatott és nem támogatott szempontokat sorolják fel.

Skálázási műveletek

  • Jelenleg a kiszolgáló tárterületének vertikális felskálázásához újra kell indítani a kiszolgálót.
  • A kiszolgálótároló csak 2x-szeres növekményes skálázható, a részletekért lásd : Storage .
  • A kiszolgáló tárhelyméretének csökkentése jelenleg nem támogatott. Az egyetlen módszer a memóriakép létrehozása és visszaállítása egy rugalmas Azure Database for PostgreSQL-kiszolgálópéldányra.

Tárolás

  • Miután konfigurálta a tárterület méretét, nem csökkentheti azt. Létre kell hoznia egy új kiszolgálót a kívánt tárterülettel, manuális memóriakép- és visszaállítási műveletet kell végrehajtania, és át kell telepítenie az adatbázisokat az új kiszolgálóra.
  • Ha a tárterület kihasználtsága eléri a 95%-ot, vagy ha a rendelkezésre álló kapacitás kisebb, mint 5 GiB (amelyik több), a kiszolgáló automatikusan írásvédett üzemmódra vált, hogy elkerülje a lemeztel teli helyzetekhez kapcsolódó hibákat. Ritka esetekben, ha az adatnövekedés sebessége túllépi az írásvédett módra való váltáshoz szükséges időt, előfordulhat, hogy a kiszolgáló még mindig elfogy. Engedélyezheti a tárterület automatikus használatát, hogy elkerülje ezeket a problémákat, és automatikusan skálázza a tárterületet a számítási feladatok igényei alapján.
  • Azt javasoljuk, hogy bizonyos küszöbértékek túllépésekor storage used vagy storage percent amikor túllépik a riasztási szabályokat, hogy proaktívan végrehajthassa az olyan műveleteket, mint a tárterület méretének növelése. Beállíthat például egy riasztást, ha a tárterület százalékos kihasználtsága meghaladja a 80%-ot.
  • Ha logikai replikációt használ, el kell dobnia a logikai replikációs pontot az elsődleges kiszolgálón, ha a megfelelő előfizető már nem létezik. Ellenkező esetben az előre írt naplózási (WAL) fájlok az elsődleges helyen halmozódnak fel, és kitöltik a tárterületet. Ha a tároló túllép egy bizonyos küszöbértéket, és a logikai replikációs pont nincs használatban (egy nem elérhető előfizető miatt), a rugalmas Azure Database for PostgreSQL-kiszolgáló automatikusan elveti a nem használt logikai replikációs pontot. Ez a művelet felszabadítja a felhalmozott WAL-fájlokat, és megakadályozza, hogy a kiszolgáló elérhetetlenné váljon, mert a tárterület megtelt.
  • Nem támogatjuk a táblaterek létrehozását. Ha adatbázist hoz létre, ne adjon meg táblatérnevet. A rugalmas Azure Database for PostgreSQL-kiszolgáló a sablonadatbázisból örökölt alapértelmezett kiszolgálót használja. Nem biztonságos olyan táblateret biztosítani, mint az ideiglenes, mert nem tudjuk biztosítani, hogy az ilyen objektumok állandóak maradjanak az olyan események után, mint a kiszolgáló újraindítása és a magas rendelkezésre állású (HA) feladatátvételek.

Hálózat

  • A virtuális hálózatba való be- és kijelentkezés jelenleg nem támogatott.
  • A nyilvános hozzáférés és a virtuális hálózaton való üzembe helyezés kombinálása jelenleg nem támogatott.
  • A tűzfalszabályok nem támogatottak a virtuális hálózatokon. Ehelyett hálózati biztonsági csoportokat használhat.
  • A nyilvános hozzáférésű adatbázis-kiszolgálók csatlakozhatnak a nyilvános internethez; például: .postgres_fdw Ezt a hozzáférést nem korlátozhatja. A virtuális hálózatok kiszolgálói hálózati biztonsági csoportokon keresztül korlátozott kimenő hozzáféréssel rendelkezhetnek.

Magas szintű rendelkezésre állás

Rendelkezésreállási zónák

  • A kiszolgálók manuális áthelyezése egy másik rendelkezésre állási zónába jelenleg nem támogatott. Ha azonban az előnyben részesített rendelkezésre állási zónát használja készenléti zónaként, bekapcsolhatja a HA-t. A készenléti zóna létrehozása után feladatátvételt végezhet rajta, majd kikapcsolhatja a HA-t.

Postgres motor, bővítmények és PgBouncer

  • A Postgres 10- és régebbi verziói nem támogatottak, mert a nyílt forráskódú közösség kivonta őket. Ha a fenti verziók egyikét kell használnia, akkor az Önálló Azure Database for PostgreSQL-kiszolgálót kell használnia, amely támogatja a régebbi, 9.5-ös, 9.6-os és 10-s főverziókat.
  • A rugalmas Azure Database for PostgreSQL-kiszolgáló minden contrib bővítményt támogat. További információ: PostgreSQL-bővítmények.
  • A beépített PgBouncer kapcsolatkészletező jelenleg nem érhető el a Burstable kiszolgálókhoz.

Leállítási/indítási műveletek

  • A rugalmas Azure Database for PostgreSQL-kiszolgálópéldány leállítása után az automatikusan elindul 7 nap után.

Ütemezett karbantartás

  • Az egyéni karbantartási időszakot a hét bármely napjára/idejére módosíthatja. A karbantartási értesítés fogadása után végrehajtott módosítások azonban nem lesznek hatással a következő karbantartásra. A módosítások csak a következő havi ütemezett karbantartással lépnek érvénybe.

Kiszolgáló biztonsági mentései

  • A rendszer kezeli a biztonsági mentéseket. Jelenleg nincs mód a biztonsági mentések manuális futtatására. Javasoljuk, hogy inkább használja pg_dump .

  • Az első pillanatkép egy teljes biztonsági mentés, az egymást követő pillanatképek pedig különbözeti biztonsági másolatok. A különbségi biztonsági másolatok csak a legutóbbi pillanatkép-biztonsági mentés óta módosított adatokról készít biztonsági másolatot.

    Ha például az adatbázis mérete 40 GB, a kiépített tárterület pedig 64 GB, az első pillanatkép biztonsági mentése 40 GB lesz. Most, ha 4 GB adatot módosít, a következő különbségi pillanatkép biztonsági mentési mérete csak 4 GB lesz. A tranzakciónaplók (előreírási naplók) elkülönülnek a teljes és a különbözeti biztonsági másolatoktól, és folyamatosan archiválva vannak.

Kiszolgáló visszaállítása

  • Az időponthoz kötött visszaállítás (PITR) funkció használatakor az új kiszolgáló ugyanazokkal a számítási és tárolási konfigurációkkal jön létre, mint az alapul szolgáló kiszolgáló.
  • A virtuális hálózatok adatbázis-kiszolgálói ugyanabba a virtuális hálózatba lesznek visszaállítva, amikor biztonsági másolatból állítja vissza őket.
  • A visszaállítás során létrehozott új kiszolgáló nem rendelkezik az eredeti kiszolgálón meglévő tűzfalszabályokkal. Az új kiszolgálóhoz külön tűzfalszabályokat kell létrehoznia.
  • Egy másik előfizetésre való visszaállítás nem támogatott. Áthidaló megoldásként visszaállíthatja a kiszolgálót ugyanabban az előfizetésben, majd migrálhatja a visszaállított kiszolgálót egy másik előfizetésbe.