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-kapcsolatok száma 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
vagystorage 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
- Tekintse meg a rugalmas Azure Database for PostgreSQL-kiszolgáló magas rendelkezésre állását.
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.
Biztonság
- Az MD5 kivonatolás le van tiltva a Postgres 14- és újabb verzióiban, és a natív Postgres-jelszavak kivonatolása csak SCRAM-SHA-256 módszerrel történik.