Limity na flexibilním serveru Azure Database for PostgreSQL.
PLATÍ PRO: Flexibilní server Azure Database for PostgreSQL
Následující části popisují limity kapacity a funkčnosti flexibilního serveru Azure Database for PostgreSQL. Pokud se chcete dozvědět o úrovních prostředků (výpočetních prostředků, paměti, úložiště), přečtěte si články o výpočetních prostředcích a úložištích .
Maximální počet připojení
Následující tabulka uvádí výchozí maximální počet připojení pro každou cenovou úroveň a konfiguraci virtuálních jader. Flexibilní server Azure Database for PostgreSQL si vyhrazuje 15 připojení pro fyzickou replikaci a monitorování instance flexibilního serveru Azure Database for PostgreSQL. V důsledku toho je hodnota maximálního počtu uživatelských připojení uvedených v tabulce snížena o 15 z celkového maximálního počtu připojení.
Název produktu | virtuálních jader | Velikost paměti | Maximální počet připojení | Maximální počet uživatelských připojení |
---|---|---|---|---|
Nárazové rozšíření | ||||
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 GB | 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 |
Obecné použití | ||||
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 GB | 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 GB | 5 000 | 4,985 |
D96ds_v5 / D96ads_v5 | 96 | 384 GiB | 5 000 | 4,985 |
Optimalizováno pro paměť | ||||
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 GB | 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 GB | 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 |
Rezervované sloty připojení, které jsou momentálně ve 15, se můžou změnit. Doporučujeme pravidelně ověřovat celková rezervovaná připojení na serveru. Toto číslo vypočítáte součtem hodnot reserved_connections
parametrů serveru a superuser_reserved_connections
serveru. Maximální počet dostupných uživatelských připojení je max_connections
– ( + reserved_connections
superuser_reserved_connections
).
Výchozí hodnota parametru max_connections
serveru se vypočítá při zřizování instance flexibilního serveru Azure Database for PostgreSQL na základě názvu produktu, který vyberete pro jeho výpočetní prostředky. Jakékoli následné změny výběru produktu na výpočetní prostředky, které podporují flexibilní server, nebudou mít žádný vliv na výchozí hodnotu parametru max_connections
serveru dané instance. Doporučujeme, abyste pokaždé, když změníte produkt přiřazený k instanci, upravte hodnotu max_connections
parametru také podle hodnot v předchozí tabulce.
Změna hodnoty max_connections
Při prvním nastavení instance flexibilního serveru Azure Database for Postgres se automaticky rozhodne nejvyšší počet připojení, která dokáže zpracovat současně. Toto číslo vychází z konfigurace vašeho serveru a nedá se změnit.
Nastavení ale můžete použít max_connections
k úpravě počtu povolených připojení v určitém okamžiku. Po změně tohoto nastavení je potřeba restartovat server, aby nový limit začal fungovat.
Upozornění
I když je možné zvýšit hodnotu nad rámec výchozího max_connections
nastavení, doporučujeme, abyste ji nepoužíli.
Instance můžou narazit na potíže, když se úloha rozšíří a vyžaduje více paměti. S rostoucím počtem připojení se také zvyšuje využití paměti. Instance s omezenou pamětí můžou čelit problémům, jako jsou chyby nebo vysoká latence. I když může být vyšší hodnota přijatelné, max_connections
když je většina připojení nečinná, může vést k významným problémům s výkonem po jejich aktivní činnosti.
Pokud potřebujete více připojení, doporučujeme místo toho použít PgBouncer, integrované řešení Azure pro správu fondu připojení. Použijte ho v režimu transakce. Pro začátek doporučujeme použít konzervativní hodnoty vynásobením virtuálních jader v rozsahu 2 až 5. Následně pečlivě monitorujte využití prostředků a výkon aplikace, abyste zajistili hladký provoz. Podrobné informace o nástroji PgBouncer najdete v tématu PgBouncer na flexibilním serveru Azure Database for PostgreSQL.
Pokud připojení překročí limit, může se zobrazit následující chyba:
FATAL: sorry, too many clients already.
Při používání flexibilního serveru Azure Database for PostgreSQL pro zaneprázdněnou databázi s velkým počtem souběžných připojení může dojít k značnému zatížení prostředků. Tato zátěž může vést k vysokému využití procesoru, zejména v případě, že je navázáno mnoho připojení současně a když připojení mají krátkou dobu (méně než 60 sekund). Tyto faktory můžou negativně ovlivnit celkový výkon databáze zvýšením doby strávené zpracováním připojení a odpojení.
Mějte na paměti, že každé připojení na flexibilním serveru Azure Database for PostgreSQL bez ohledu na to, jestli je nečinné nebo aktivní, spotřebovává z vaší databáze značné množství prostředků. Tato spotřeba může vést k problémům s výkonem nad rámec vysokého využití procesoru, jako jsou kolize disků a zámků. Článek Počet připojení k databázi na wikiwebu PostgreSQL podrobněji popisuje toto téma. Další informace najdete v tématu Identifikace a řešení výkonu připojení na flexibilním serveru Azure Database for PostgreSQL.
Funkční omezení
V následujících částech najdete důležité informace o tom, co je a co není podporované na flexibilním serveru Azure Database for PostgreSQL.
Operace škálování
- V tuto chvíli vyžaduje vertikální navýšení kapacity úložiště serveru restartování serveru.
- Úložiště serveru je možné škálovat pouze po 2x přírůstcích. Podrobnosti najdete v tématu Úložiště .
- Zmenšení velikosti úložiště serveru se v současné době nepodporuje. Jediným způsobem, jak to udělat, je výpis a obnovení do nové instance flexibilního serveru Azure Database for PostgreSQL.
Úložiště
- Jakmile nakonfigurujete velikost úložiště, nemůžete ji zmenšit. Musíte vytvořit nový server s požadovanou velikostí úložiště, provést ruční operaci výpisu a obnovení a migrovat databáze na nový server.
- Když využití úložiště dosáhne 95 % nebo pokud je dostupná kapacita menší než 5 GiB (podle toho, co je vyšší), server se automaticky přepne do režimu jen pro čtení, aby se zabránilo chybám spojeným s plnými disky. Ve výjimečných případech může dojít k výpadku rychlosti růstu dat v době, která trvá přepnutí do režimu jen pro čtení, může dojít k výpadku úložiště vašeho serveru. Automatickému zvětšování úložiště můžete povolit, abyste se těmto problémům vyhnuli, a automaticky škálovat úložiště na základě vašich požadavků na úlohy.
- Doporučujeme nastavit pravidla upozornění pro
storage used
překročení určitých prahových hodnot nebostorage percent
když překročí určité prahové hodnoty, abyste mohli aktivně provádět akce, jako je zvýšení velikosti úložiště. Pokud například procento úložiště překročí 80 % využití, můžete nastavit upozornění. - Pokud používáte logickou replikaci, musíte v primárním serveru vynechat slot logické replikace, pokud už odpovídající odběratel neexistuje. Jinak se soubory protokolování pro zápis (WAL) hromadí v primárním objektu a zaplní úložiště. Pokud úložiště překročí určitou prahovou hodnotu a pokud se nepoužívá slot logické replikace (kvůli nedostupnosti odběratele), flexibilní server Azure Database for PostgreSQL automaticky tento nepoužívaný slot logické replikace automaticky zahodí. Tato akce uvolní kumulované soubory WAL a zabrání tomu, aby váš server nebyl dostupný, protože je vyplněné úložiště.
- Nepodporujeme vytváření tabulkových prostorů. Pokud vytváříte databázi, nezadávejte název tabulkového prostoru. Flexibilní server Azure Database for PostgreSQL používá výchozí server, který je zděděný z databáze šablony. Je nebezpečné poskytnout tabulkový prostor, jako je dočasný prostor, protože nemůžeme zajistit, aby tyto objekty zůstaly trvalé po událostech, jako jsou restartování serveru a převzetí služeb při selhání vysoké dostupnosti (HA).
Sítě
- Přechod do virtuální sítě a z virtuální sítě se v současné době nepodporuje.
- Kombinace veřejného přístupu s nasazením ve virtuální síti se v současné době nepodporuje.
- Pravidla brány firewall nejsou ve virtuálních sítích podporovaná. Místo toho můžete použít skupiny zabezpečení sítě.
- Databázové servery s veřejným přístupem se mohou připojit k veřejnému internetu; například prostřednictvím
postgres_fdw
. Tento přístup nemůžete omezit. Servery ve virtuálních sítích můžou mít omezený odchozí přístup prostřednictvím skupin zabezpečení sítě.
Vysoká dostupnost
- Podívejte se na vysokou dostupnost (spolehlivost) na flexibilním serveru Azure Database for PostgreSQL.
Zóny dostupnosti
- Ruční přesun serverů do jiné zóny dostupnosti se v současné době nepodporuje. Pokud ale jako pohotovostní zónu použijete upřednostňovanou zónu dostupnosti, můžete zapnout vysokou dostupnost. Jakmile vytvoříte pohotovostní zónu, můžete převzít služby při selhání a pak vypnout vysokou dostupnost.
Modul Postgres, rozšíření a PgBouncer
- Postgres 10 a starší verze se nepodporují, protože opensourcová komunita je vyřadila z důchodu. Pokud musíte použít jednu z těchto verzí, musíte použít možnost jednoúčelového serveru Azure Database for PostgreSQL, která podporuje starší hlavní verze 9.5, 9.6 a 10.
- Flexibilní server Azure Database for PostgreSQL podporuje všechna
contrib
rozšíření a další. Další informace najdete v tématu Rozšíření PostgreSQL. - Integrovaný nástroj pro sdružování připojení PgBouncer není aktuálně k dispozici pro servery s možností burstable.
Operace zastavení/spuštění
- Po zastavení instance flexibilního serveru Azure Database for PostgreSQL se automaticky spustí po 7 dnech.
Plánovaná údržba
- Vlastní časové období údržby můžete změnit na libovolný den/čas v týdnu. Jakékoli změny, které provedete po přijetí oznámení o údržbě, ale nebudou mít žádný vliv na další údržbu. Změny se projeví jenom s následující měsíční plánovanou údržbou.
Zálohy serveru
Systém spravuje zálohy. V současné době neexistuje způsob, jak spustit zálohy ručně. Doporučujeme místo toho použít
pg_dump
.První snímek je úplná záloha a po sobě jdoucí snímky jsou rozdílové zálohy. Rozdílové zálohy zálohují pouze změněná data od posledního zálohování snímků.
Pokud je například velikost databáze 40 GB a zřízené úložiště je 64 GB, bude první zálohování snímků 40 GB. Pokud teď změníte 4 GB dat, velikost dalšího rozdílového zálohování snímků bude jenom 4 GB. Transakční protokoly (protokoly před zápisem) jsou oddělené od úplných a rozdílových záloh a archivují se nepřetržitě.
Obnovení serveru
- Když používáte funkci obnovení k určitému bodu v čase (PITR), vytvoří se nový server se stejnými konfiguracemi výpočetních prostředků a úložiště jako server, na kterém je založen.
- Databázové servery ve virtuálních sítích se při obnovení ze zálohy obnoví do stejných virtuálních sítí.
- Nový server vytvořený během obnovení nemá pravidla brány firewall, která existovala na původním serveru. Pro nový server potřebujete vytvořit pravidla brány firewall samostatně.
- Obnovení do jiného předplatného se nepodporuje. Jako alternativní řešení můžete obnovit server ve stejném předplatném a potom migrovat obnovený server do jiného předplatného.
Zabezpečení
- Hashování MD5 je zakázáno z Postgres 14 a novějších verzí a nativní hesla Postgres budou hashována pouze pomocí metody SCRAM-SHA-256.