Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Cloud computing dramaticky změnilo oblast hostování databází. Poskytuje týmům přístup ke škálovatelnosti, odolnosti, globálnímu dosahu a možnostem, které byly dříve nedostupné. Týmy teď mohou místo toho, aby nesly značné náklady a režijní náklady od prvního dne, optimalizovat přesně kolem rozsahu, který potřebují, když ho potřebují, a upravit, jak se jejich požadavky mění.
Introduction
Flexibilita při výběru vhodné rovnováhy prostředků je zvláště cenná pro nasazení databáze PostgreSQL. Pracovní zátěže databáze PostgreSQL mohou začínat jako malé, rychle růst, sezónně dosahovat vrcholů, přecházet z čtecí intenzity na zápisovou, nebo se vyvíjet z transakčních pracovních úloh na hybridní operační a analytické systémy v reálném čase. Azure Database for PostgreSQL zajišťuje, aby vaše řešení dosáhla vašich cílů tím, že nabízí širokou škálu možností napříč výpočetními prostředky, úložištěm, dostupností, replikací, zabezpečením, zálohováním a provozní správou.
S veškerou touto mocí je spojena zodpovědnost, zejména při plánování nasazení. Aby bylo možné dosáhnout co nejlepšího výkonu, musí rozhodnutí o nasazení odpovídat vašim požadavkům na celkovou úlohu.
Úspěšné nasazení Azure Database for PostgreSQL není jen otázkou výběru "nejvíce jader a paměti, které potřebujeme.". Místo toho maximální provozní výkon vychází z pochopení chování aplikace, chování klienta, výpočetních prostředků, úložiště a růstu databáze a způsobu, jakým se všechny tyto operace protínají a interagují.
Nejlepší architektura je ta, ve které jsou tyto části záměrně zarovnané.
Plánování výkonu cloudu je sdílená odpovědnost
Jednou z hlavních výhod přechodu na důvěryhodnou cloudovou platformu je model sdílené odpovědnosti. Microsoft poskytuje globální infrastrukturu, spravované služby, inovace hardwaru, spolehlivost, zabezpečení a provozní inženýrství. Vaše týmy přinášejí konkrétní znalosti kontextu aplikace: obchodní důležitost, chování úloh, návrh datového modelu, profil síťového provozu, očekávání růstu, cíle obnovení a požadavky na prostředí pro koncové uživatele.
Nejsilnější výsledky vznikají, když jsou tyto dvě síly sjednocené.
Azure poskytuje vysoce škálovatelnou infrastrukturu Postgres, ale váš tým musí přinést přehledy do těchto oblastí:
- Kolik souběžných uživatelů se očekává během běžných a špičkových období?
- Jsou nejdůležitější operace náročné na čtení, zápis nebo smíšené?
- Dochází ke špičkám poptávky během konce měsíce, čtvrtletí, svátků, uvedení na trh nebo období pro podávání zpráv?
- Jak rychle roste datová sada?
- Které operace jsou citlivé na latenci?
- Které dotazy nebo úlohy můžou tolerovat delší dobu běhu?
- Je úloha primárně OLTP, OLAP nebo hybridní?
- Nachází se klienti v blízkosti oblasti databáze, globálně distribuované nebo soustředěné v jedné geografické oblasti?
Zachyťte tyto podrobnosti před nasazením, ne po produkčním incidentu. Cloudová nasazení usnadňují škálování, ale nejvýkonnější a nákladově nejefektivnější návrhy stále začínají shromažďováním a správným plánováním požadavků. Ve většině případů se tyto otázky dají destilovat na vztahy mezi souběžnými připojeními, maximálním počtem vstupně-výstupních operací za sekundu a požadovanou propustností.
Výkon má více vrstev
Výkon databáze se zřídka určuje jediným nastavením. Úspěšné nasazení závisí na několika vrstvách, které spolupracují:
-
Výkon aplikační vrstvy
Tato vrstva zahrnuje kód aplikace, vzory dotazů, pokrytí indexu, použití triggeru, dělení dat, zpracování připojení, ukládání do mezipaměti, logiku opakování, sdružování, chování ORM, návrh transakcí a chování úlohy na pozadí. -
Výkon klientských a síťových vrstev
Tato vrstva zahrnuje umístění klientů, způsob připojení, to, jestli požadavky napříč oblastmi a zónami dostupnosti, latence sítě, režie protokolu TLS, četnost změn připojení a to, jestli aplikace efektivně využívá sdružování připojení. -
Výkon databázové platformy
Tato vrstva zahrnuje konfiguraci nasazení Postgres, velikost výpočetních prostředků, paměť, procesor, typ úložiště, velikost úložiště, IOPS úložiště, propustnost úložiště, vysokou dostupnost, repliky a operace údržby.
Tento článek se zaměřuje především na třetí vrstvu: plánování nasazení databáze Azure Postgres tak, aby volby výpočetních prostředků a úložiště podporovaly požadovaný profil výkonu.
Azure Database for PostgreSQL nabízí flexibilitu, ale plánování je nezbytné
flexibilní server Azure Database for PostgreSQL nabízí širokou škálu možností nasazení, mezi které patří:
| Oblast nasazení | Dostupné volby |
|---|---|
| Compute | Úrovně výpočetních prostředků, generace virtuálních počítačů, konfigurace pro obecné účely a konfigurace optimalizované pro paměť. |
| Storage | Azure SSD úrovně Premium verze 1, SSD úrovně Premium verze 2, škálovatelnost úložiště, konfigurace IOPS a nastavení propustnosti. |
| Availability | Vysoká dostupnost, zálohování a obnovení a geograficky redundantní zálohy v podporovaných konfiguracích |
| Replication | Repliky pro čtení a geografické repliky |
| Zabezpečení | Klíče spravované zákazníkem a integrace podnikového zabezpečení |
Tato flexibilita je výkonná, protože různé úlohy vyžadují různé možnosti. Transakční systém náročný na zápis nepotřebuje stejný profil jako systém náročný na generování sestav. Globální aplikace SaaS nepotřebuje stejný návrh jako interní regionální aplikace. Databáze, která roste o 5% ročně, nepotřebuje stejný plán úložiště jako jeden rostoucí 200% měsíc za měsíc.
Cílem plánování je identifikovat potřeby vašeho profilu výkonu úloh a pak implementovat správné volby napříč možnostmi výpočetních prostředků i úložiště, aby bylo možné úspěšně dodávat kompletní řešení.
Začínáme s profilem úloh
Před výběrem výpočetních prostředků nebo úložiště definujte úlohu. Mezi užitečné dimenze plánování patří:
| Oblast plánování | Otázky k zodpovězení |
|---|---|
| Zeměpis | Kde se nacházejí uživatelé, aplikace, repliky a integrace? |
| Concurrency | Kolik souběžných připojení a aktivních dotazů se očekává? |
| Velikost dat | Jaká je aktuální velikost databáze a jaká je očekávaná míra růstu? |
| Míra změn | Jak rychle se data v průběhu měsíce zvětšují? Kolik zápisového logu (WAL) se vygeneruje? |
| Typ úlohy | Je systém OLTP, OLAP, výrazně zaměřený na reportování, silně zaměřený na dávkové zpracování, nebo hybridní? |
| Kombinace čtení a zápisu | Jaké procento operací představuje čtení a zápis? |
| Chování při špičkovém zatížení | Existují předvídatelné obchodní cykly, sezónní špičky nebo dávková okna? |
| Citlivost latence | Které transakce jsou orientované na uživatele a citlivé na latenci? |
| Požadavky na propustnost | Probíhá rozsáhlé skenování dat, exporty, importy nebo procesy extrakce, transformace a načítání (ETL)? |
| Očekávání v oblasti škálování | Bude pracovní zatížení potřebovat dočasné nárůsty nebo trvale vyšší výkon? |
Cílem není předpovědět budoucnost dokonale. Cílem je vyhnout se navrhování naslepo.
Seznámení se třemi základními koncepty výkonu úložiště
Azure plánování výkonu úložiště obvykle spadá do tří souvisejících, ale odlišných konceptů: IOPS, propustnost a latence. Tyto faktory jsou klíčové pro plánování výkonu aplikací.
IOPS
IOPS znamená vstupně-výstupní operace za sekundu. Měří, kolik operací čtení nebo zápisu může databáze posílat do úložiště každou sekundu.
IOPS je zvláště důležité pro úlohy OLTP. Tyto systémy často provádějí mnoho malých, náhodných čtení a zápisů, jako jsou vložení, aktualizace, vyhledávání indexů, čtení bodů a krátké transakce. Transakční úloha s tisíci souběžných uživatelů může vyžadovat vysoké IOPS, i když je každá jednotlivá operace malá.
Mezi běžné scénáře citlivé na IOPS patří:
- Zpracování velkých objemů objednávek
- Aktualizace profilů uživatelů
- Inventarizační systémy
- Příjem událostí
- Platební nebo fakturační systémy
- Vysoce souběžné aplikace SaaS
Propustnost
Propustnost, někdy označovaná jako šířka pásma, měří, kolik dat se dá v průběhu času číst nebo zapisovat do úložiště. Vyjadřuje se v MB/s.
Propustnost záleží, když operace přesouvají velké objemy dat. Analytické dotazy, zálohy, obnovení, dávkové úlohy, sestavení indexu, prohledávání tabulek a pracovní postupy ETL můžou vyžadovat vysokou propustnost, i když nevyžadují nejvyšší počet IOPS.
Mezi běžné scénáře citlivé na propustnost patří:
- Sestavování dotazování z velkých tabulek
- Hromadné importy nebo exporty
- Skeny ve stylu datového skladu
- Operace zálohování a obnovení
- Velké operace vytváření nebo opětovného sestavení indexu
- Dávkové zpracování
Oneskorení přenosu
Latence je doba, kterou trvá dokončení jednoho V/V požadavku. Nízká latence je nezbytná pro databázové operace s uživatelským prostředím, zejména v případě, že je v transakci zřetězených mnoho malých operací.
Systém může mít vysoké teoretické IOPS, ale přesto se cítí pomalu, pokud je latence vysoká. U úloh Postgres může latence úložiště přímo ovlivnit dobu odezvy dotazů, chování při potvrzení transakcí, chování kontrolního bodu a celkovou odezvu aplikace.
Note
Disky SSD úrovně Premium v1 jsou navržené pro latenci v řádu milisekund pro většinu vstupně-výstupních operací, a zejména ukládání do mezipaměti disku může dále snížit latenci čtení pro konfigurace disků pod 4 TB. Disky Premium SSD v2 a Ultra nabízejí submilisekundovou latenci.
Vstupně-výstupní operace za sekundu, propustnost a latence se musí zvážit společně.
IOPS a propustnost jsou spojené. Úloha provádějící několik malých operací o velikosti 8 KiB může dosáhnout vysokých IOPS bez zvýšení propustnosti. Úloha, která provádí velké operace o více MB, může dosáhnout vysoké propustnosti s nižšími IOPS.
Jednoduchý způsob, jak na to myslet:
IOPS x vstupně-výstupní velikost = propustnost
Pro Postgres je praktickou implikací to, že plánování úložiště úloh by mělo být založené na pozorovaných nebo odhadovaných chováních úloh, nikoli na velikosti databáze. Příklad:
- Systém OLTP s vysokou souběžností může potřebovat více vstupně-výstupních operací za sekundu a nižší latenci.
- Systém, který je náročný na generování sestav, může potřebovat větší propustnost.
- Hybridní systém může potřebovat obojí, zejména během cyklů ve špičce.
- Systém OLTP s vysokou souběžností může potřebovat více vstupně-výstupních operací za sekundu a nižší latenci.
- Systém náročný na generování sestav může potřebovat větší propustnost.
- Hybridní systém může potřebovat obojí, zejména během cyklů ve špičce.
Vaše volby nasazení přímo ovlivňují výkon úložiště.
Běžnou chybou je nastavení úložiště pro cílové číslo výkonu bez ohledu na to, jestli vybraná skladová položka výpočetních prostředků může řídit stejné úrovně výkonu.
Výkon úložiště Azure má několik aspektů. Mezi tyto podrobnosti patří:
- Sada výpočetních schopností (maximální počet vstupně-výstupních operací za sekundu výpočetních prostředků a omezení propustnosti)
- Generace úložiště (SSD v1, SSD v2, Ultra Disk).
- Velikost disku úložiště (disky SSD v1 pod 4 096 GB zahrnují hostované ukládání do mezipaměti, které umožňuje nárazy IOPS nad standardními základními hodnotami).
- Kapacita IOPS úložiště.
- Kapacita propustnosti úložiště.
V praxi: váš efektivní limit výkonu je nejnižším relevantním limitem v řetězci.
Pokud konfigurace úložiště může poskytnout 80 000 IOPS, ale skladová položka výpočetních prostředků může řídit pouze 20 000 IOPS, nasazení nedoručí 80 000 IOPS. Naopak pokud generování virtuálního počítače podporuje vysoké IOPS, ale vybraná úroveň úložiště je omezena na nižší úroveň, stane se z ní limit.
Plánování výpočetních prostředků a úložiště by mělo probíhat společně.
Premium SSD v1: silný základní výkon s významným chováním při ukládání do mezipaměti
Premium SSD v1 je běžnou volbou pro produkční úlohy Postgres na Azure, které potřebují předvídatelný a zřízený výkon. Azure úložiště Postgres SSD v1 podporuje až 32 TB prostor, 20 000 IOPS a propustnost 900 MB/s.
Ssd úrovně Premium v1 funguje dobře pro úlohy, které využívají ukládání do mezipaměti hostitele. Azure Postgres podporuje ukládání do mezipaměti pro disky SSD verze 1 menší než 4 096 GB. Každý disk zřízený až 4 095 GB může využívat ukládání do mezipaměti hostitele. Jakmile je úložiště zřízené na 4 096 GB nebo vyšší, ukládání do mezipaměti hostitele se nepodporuje. Na této hranici záleží. U nasazení SSD úrovně Premium v1 pod 4 TB může ukládání do mezipaměti zlepšit výkon čtení a snížit latenci čtení. Toto ukládání do mezipaměti vytváří vynikající efektivitu nákladů na výkon pro úlohy náročné na čtení nebo smíšené úlohy, které odpovídají prahové hodnotě ukládání do mezipaměti.
Proč záleží na hranici 4 TB
Když se nasazení SSD úrovně Premium v1 zvětšuje nad rámec podporovaného rozsahu ukládání do mezipaměti, může se profil výkonu změnit:
- Operace čtení již nemají prospěch z vyrovnávací paměti hostitele.
- Další operace čtení pocházejí přímo ze základního disku.
- Počet čtení se počítá s limity IOPS a propustnosti disku.
- Úlohy čtení citlivé na latenci mohou zaznamenat odlišné chování.
- Konfigurace, která byla dříve efektivní, může vyžadovat více zřízených vstupně-výstupních operací za sekundu, vyšší propustnost, škálování výpočetních prostředků, ladění dotazů nebo jinou možnost úložiště.
Přechod nad 4 TB není špatný, ale musíte ho naplánovat .
Pokud očekáváte, že databáze vzroste nad rámec 4 TB, zvažte budoucí stav při návrhu architektury. Návrh, který funguje dobře s 2 TB s ukládáním do mezipaměti, může potřebovat jiný plán výkonu na 5 TB bez ukládání do mezipaměti.
Dočasné zvýšení kapacity pomáhá s vyrovnáváním špiček, ale nenahrazuje trvalou kapacitu.
Azure přidělení úložiště Postgres Premium SSD v1 pod podporou 4 TB umožňují záblesky ukládání do mezipaměti hostitele, které mohou pomoci ve scénářích, jako jsou:
- Aktivita startupu
- Krátké dávkové úlohy
- Špičky provozu
- Zpracování na konci měsíce
- Dočasné nárůsty úloh
I když je bursting užitečné, používejte ho pečlivě. Průběžné nárůsty můžou pokrýt dočasné špičky, ale neměly by být základem pro trvalou zátěž. Pokud úloha často běží nad standardními hodnotami, je lepší zřídit vyšší úroveň výkonu, upravit nastavení výkonu úložiště, škálovat výpočetní prostředky nebo přepracovat vzor úloh.
Dobrá plánovací otázka je: Jedná se o dočasnou špičku, nebo je to nový normál?
Dočasné špičky můžou být vhodnými kandidáty pro nárazové nárůsty. Zvládněte trvalou poptávku s pečlivým plánováním kapacity.
Prémiové SSD v2 umožňuje oddělení kapacity, IOPS a propustnosti
Ssd úrovně Premium v2 mění plánovací model oddělením velikosti disku, vstupně-výstupních operací za sekundu a propustností. Azure Database for PostgreSQL flexibilní server SSD úrovně Premium v2 podporuje:
- Kapacita od 32 GB do 64 TB.
- Až 80 000 IOPS.
- Propustnost až 1 200 MB/s .
- Jemné úpravy kapacity po přírůstcích o 1 GB
- Flexibilní konfigurace IOPS a propustnosti
- Nižší latence než Premium SSD v1.
- Žádné ukládání do mezipaměti hostitele.
Tato změna je zásadním posunem. Se SSD úrovně Premium v1 je výkon úzce svázaný s diskovou velikostí. S Premium SSD v2 můžete výkon nakonfigurovat přímo podle potřeb úloh.
Například databáze náročné na transakce může potřebovat vysoké IOPS, aniž by potřebovala velké množství úložiště. Azure Postgres poskytuje základní IOPS a propustnost bez dalších poplatků, přičemž další IOPS a propustnost jsou k dispozici za dodatečné poplatky. Nabídky SSD úrovně Premium v2:
- Disky o velikosti až 399 GB přijímají základní úroveň 3 000 IOPS a 125 MB/s.
- Disky o velikosti 400 GB nebo větší: dostanou základní úroveň 12 000 IOPS a 500 MB/s.
- Disky můžou dosáhnout až 80 000 IOPS , pokud je velikost alespoň 160 GB volného místa.
- Propustnost se může škálovat až na 1 200 MB/s.
Ssd úrovně Premium v2 je často atraktivní, pokud potřebujete přesnější kontrolu nad náklady a výkonem. Místo škálování kapacity úložiště jen kvůli odemčení výkonu můžete výkon nastavit účelněji.
Ultra Disk (Preview): vysoká úroveň Azure výkonnostní třídy disku
Ultra disk je nejvýkonnější možností disku. Azure Ultra Disk nabízí výkonové úrovně až do:
- 400 000 IOPS
- Propustnost 10 000 MB/s
- Kapacita 64 TB
- Cíle návrhu pro latenci v nižších řádech milisekundy
- Nezávisle konfigurovatelná kapacita, IOPS a propustnost
Úložiště Ultra Disk je navrženo pro podporu vstupně-výstupně náročných úloh jako databáze nejvyšší třídy, SAP HANA a transakčně náročné systémy. Tato nová nabídka úložiště poskytuje špičkový výkon vašich důležitých úloh. Váš tým ale při plánování nasazení musí zvážit některé klíčové možnosti nasazení, omezení dostupnosti v jednotlivých oblastech a možnosti konfigurace:
- Automatické zvětšování úložiště se nepodporuje u serverů používajících Ultra Disk.
- Šifrování dat s využitím klíčů spravovaných zákazníkem není podporováno u serverů s Ultra Disk.
- Disky Ultra nepodporují ukládání do mezipaměti.
Je důležité pochopit možnosti disků Ultra v rámci širšího kontextu výkonu úložiště Azure. Musíte ale ověřit dostupnost služby a podporu pro vaši konkrétní úlohu Azure Postgres. Obraťte se na zástupce Microsoft, jestli je pro Azure nasazení Postgres k dispozici verze Ultra Disk Preview.
Praktické poznatky: Ultra Disk představuje horní konec výkonu úložiště Azure, ale váš kompletní návrh Postgres musí obsahovat porovnatelně podporované kombinace pro vybranou skladovou položku výpočetních prostředků, oblast a úroveň vydané verze.
Generace virtuálních počítačů je důležitá: Limity výpočetního úložiště V5 a V6 se liší.
Generování výpočetních prostředků může materiálně ovlivnit výkon úložiště. Když prozkoumáte nejvyšší úroveň výkonu úložiště Azure, vyhněte se nedorozumění, že "velká výpočetní instance" automaticky znamená "maximální úložiště". U požadované úrovně úložiště je nutné ověřit vybranou výpočetní SKU. Pojďme si tento bod ukázat na dvou generačně podobně velkých výpočetních prvcích, Ddsv5 a Ddsv6.
Řada Ddsv5 podporuje Premium Storage (s mezipamětí), Premium SSD v2 a Ultra Disk na úrovni řady virtuálních počítačů. Agregované limity vzdáleného úložiště virtuálního počítače ale stále definují strop pro to, co může tento virtuální počítač řídit.
Ddsv5-series poskytuje výkon úložiště v rozsahu až 80 000 IOPS a 2 600 MB/s.
Řada Ddsv6-series poskytuje vyšší obálku úložiště v rozsahu až 400 000 IOPS a 12 000 MB/s. Výpočetní prostředky řady V6 nabízejí vyšší škálovatelnost než předchozí generace s až 192 virtuálními procesory a pamětí 768 GiB.
Tato generační změna je důležitá pro vysoce výkonný návrh Postgres. Pokud vaše cílová architektura vyžaduje vysoký výkon úložiště, výběr výpočetní generace s nižším limitem agregovaného úložiště může zabránit nasazení v použití plné možnosti úložiště.
Příklad: proč záleží na komplexním sladění
Zvažte úlohu PostgreSQL s aspiračním cílem pro úložiště dosahujícím 400 000 IOPS.
Na úrovni disku disk Azure Ultra podporuje až 400 000 IOPS na disk. Ssd úrovně Premium v2 podporuje až 80 000 IOPS na disk a vyšší agregační návrhy můžou vyžadovat více disků nebo abstrakci na úrovni platformy v závislosti na podpoře služeb.
Ale samotné možnosti úložiště nestačí.
Konfigurace řady V5 může mít strop úložiště, který je nižší než cíl. Jak jsme už zmínili, skladové položky řady V5 podporují až 260 000 IOPS pro propustnost vzdáleného disku SSD úrovně Premium. V tomto případě se volba výpočetní vrstvy řady V5 pro tento cíl stane mezním faktorem před dosažením cíle 400 000 IOPS.
Naproti tomu dokumentace řady Ddsv6 nabízí až 400 000 IOPS a 12 000 MB/s. Díky tomu jsou řady V6 a novější generace strategicky důležité pro návrhy, které potřebují sladit výpočetní prostředky a úložiště kolem nejvyšších tříd výkonu úložiště.
Tato lekce je jednoduchá: maximální výkon databáze je komplexní vlastnost, nikoli vlastnost jen pro úložiště.
Plánování obchodních cyklů, nejen stabilního stavu
Mnoho systémů nemá jeden profil výkonu. Mají několik:
| Normální pracovní den. | Špička pracovní doby. |
| Zpracování na konci měsíce nebo čtvrtletí. | Dovolená nebo sezónní poptávka. |
| Události uvedení produktu na trh | Zprávová okna |
| Časové intervaly údržby. | Azure Batch období příjmu dat. |
| Scénáře zálohování a obnovení | Události zotavení po havárii. |
Databáze dimenzovaná pro průměrné využití může mít potíže během důležitých momentů. Naopak trvalé nastavení velikosti databáze pro špičku, která nastává jednou za měsíc, může být zbytečně drahé.
Azure flexibilita umožňuje týmům dělat podrobnější volby. Příklad:
- K úpravě IOPS a propustnosti při vývoji úloh použijte SSD úrovně Premium v2.
- Pokud je to vhodné, používejte repliky pro čtení k snižování zátěže úloh náročných na čtení.
- Škálujte výpočetní prostředky pro známé špičkové období.
- Před škálováním infrastruktury vylaďte dotazy, indexy a sdružování připojení.
- Pomocí pozorovatelnosti můžete zjistit, jestli je kritickým bodem procesor, paměť, vstupně-výstupní operace za sekundu, propustnost, kolize uzamčení, tlak připojení nebo návrh dotazu.
Nejlepší nasazení není vždy největší nasazení. Je to návrh, který odpovídá úloze a může se bezpečně vyvíjet.
Pozorovatelnost je součástí architektury.
Plánování výkonu by se nemělo zastavit při nasazení. Úlohy Postgres se v průběhu času mění. Data se zvětšují, mění se vzory dotazů, spouští se nové funkce, mění se provoz zákazníků a nahromáždí se provozní úlohy.
| Oblast monitorování | Signály k revizi |
|---|---|
| Compute | Využití procesoru a zatížení paměti. |
| Connections | Aktivní připojení, nečinná připojení a chování connection poolu. |
| Queries | Doba trvání dotazu, změny plánu dotazů a využití indexu |
| Storage | Procento úložiště, latence čtení, latence zápisu, využití IOPS a statistika propustnosti |
| Maintenance | Tabulková nadbytečnost, indexová nadbytečnost, vlastnosti WAL, harmonogramy zálohování a harmonogramy údržby. |
| Replication | Prodleva repliky, pokud je relevantní. |
Azure Database for PostgreSQL dokumentace ukazuje monitorování využití vstupně-výstupních operací prostřednictvím portálu Azure nebo metrik Azure CLI, včetně limitu úložiště, procenta úložiště, využitého úložiště a vstupně-výstupních operací.
Tyto metriky pomáhají zodpovědět nejdůležitější provozní otázku: která vrstva skutečně omezuje výkon?
Bez sledujitelnosti můžou týmy škálovat nesprávně. Problém s plánem dotazů může vypadat jako problém s úložištěm. Nárůsty spojení mohou se jevit jako tlak na procesor. Chybějící index může vypadat jako nedostatečný počet vstupně-výstupních operací za sekundu. Problém s umístěním místního klienta může vypadat jako latence databáze.
Monitorování pomáhá týmům provádět cílené změny místo drahých odhadů.
Kontrolní seznam pro praktické plánování
Před tím, než vyberete konfiguraci produkčního Azure Database for PostgreSQL, shromážděte následující informace.
| Kategorie | Plánování vstupů |
|---|---|
| Typ úlohy | OLTP, OLAP, hybridní, generování sestav, dávkové zpracování, ingesce. |
| Kombinace čtení a zápisu | Procento čtení, zápisů, náhodných vstupně-výstupních operací a sekvenčních vstupně-výstupních operací |
| Aktuální výkon | Standardní IOPS, propustnost, latence, procesor, paměť a připojení |
| Výkon ve špičce | 90. percentil a 99. percentil – požadavky na pracovní zátěže. |
| Velikost dat | Aktuální velikost, očekávaný růst, velké využití objektů a růst indexu |
| Míra růstu | Měsíční a roční projekce úložiště. |
| Concurrency | Aktivní sezení, nečinná sezení a chování fondu spojení |
| Obchodní cykly | Denní, týdenní, měsíční, sezónní a nárůsty způsobené uvedením na trh. |
| Availability | Vysoká dostupnost, replika, zotavení po havárii, zálohování, obnovení dat, cíl bodu obnovení (RPO) a plánovaná doba obnovení (RTO). |
| Volba úložiště | Premium SSD, Premium SSD v2, podporované oblasti a podporované funkce. |
| Dopad ukládání do mezipaměti | Určuje, jestli se hostovací mezipaměť u Premium SSD v1 používá při méně než 4 TB. |
| Generování výpočetního výkonu | Určuje, jestli vybraná skladová položka může řídit požadované IOPS a propustnost. |
| Model škálování | Ruční škálování, plánované škálování, úprava výkonu a repliky |
| Pozorovatelnost | Metriky, upozornění, přehledy dotazů a proces kontroly úloh |
Doporučené principy návrhu
Při plánování Azure nasazení Postgres pro provozní výkon použijte následující principy.
-
Velikost přizpůsobte podle typu úlohy, nejen podle velikosti dat.
Databáze o velikosti 500 GB může potřebovat více IOPS než 5 TB databáze, pokud je vysoce transakční a latence citlivá. Záleží na velikosti, ale na vlastnostech pracovních zátěží záleží více. -
Ověřte výpočetní prostředky a úložiště společně.
Nevybírejte úložiště jenom na základě limitů disku. Ověřte, že vybraná skladová položka výpočetních prostředků může řídit požadované IOPS a propustnost. -
Zacházejte s hranicí mezipaměti 4-TB Premium SSD jako na milník v návrhu.
Nasazení Premium SSD s kapacitou do 4 TB mohou těžit z ukládání do mezipaměti hostitele. Při velikosti 4 096 GB a vyšší se nepodporuje ukládání do mezipaměti hostitele. Pokud růst překročí danou prahovou hodnotu, naplánujte budoucí model výkonu na začátku. -
Zvažte Premium SSD v2 pro flexibilní optimalizaci výkonu.
Ssd úrovně Premium v2 umožňuje podrobnější kontrolu nad kapacitou, IOPS a propustností. Může být vhodné řešení, pokud požadavky na výkon neodpovídají přesně pevně stanoveným velikostem disků. -
Pro nárazy používejte dynamické zdroje, nikoli pro trvalé požadavky.
Bursting může pomoci s krátkodobými špičkami, ale časté nebo trvalé bursting obvykle znamená, že by se měla přehodnotit základní konfigurace. -
Shodovat generaci s cílem.
V případě cílů s vysokým výkonem můžou novější generace výpočetních prostředků, jako je řada v6, vystavit vyšší agregované limity vzdáleného úložiště než starší generace pro obecné účely. Pokud cílíte na architekturu třídy 400 000 IOPS, vyberte odpovídající generaci výpočetních prostředků. -
Měření před a po změnách
Škálování je v cloudu jednodušší, ale měření je to, co umožňuje efektivní škálování. Zachyťte metriky standardních hodnot, špiček a po změnách, aby rozhodnutí o výkonu byla založená na důkazech.
Srovnávací test reálného světa: Porovnání konfigurací úložiště při zatížení
Principy popsané v tomto článku nejsou teoretické. Abychom si ukázali, jak výpočetní prostředky, úložiště a úlohy interagují v praxi, tato část shrnuje pgbench srovnávací testy, které porovnávají konfigurace úložiště a úrovně výpočetních prostředků za kontrolovaných měřených podmínek.
Nastavení a metodologie srovnávacích testů
Srovnávací testy používají pgbenchstandardní srovnávací nástroj PostgreSQL k simulaci transakční úlohy v pěti různých konfiguracích úložiště a výpočetních prostředků. Test začíná 500 souběžnými připojeními a po počátečním období zvyšuje až 750 souběžných připojení a udržuje toto zvýšené zatížení připojení po zbytek testovacího okna. Tento model škálování simuluje, jak mnoho skutečných aplikací v průběhu času zvyšuje zatížení, a měří, jak databáze reaguje na počáteční špičku i trvalé vysoké současné zatížení.
Všechny srovnávací testy běží na flexibilním serveru Azure Database for PostgreSQL ve stejné oblasti ve stejné zóně dostupnosti pomocí stejné testovací databáze a profilu úlohy. Díky izolování úložiště a výpočetních prostředků jako proměnných zajistíte, že rozdíly v výkonu odrážejí skutečné možnosti platformy, nikoli sítě, aplikace nebo varianty úloh.
Podrobnosti o konfiguraci
Otestujte pět různých konfigurací, které se liší jak na úrovni úložiště, tak na velikosti výpočetních prostředků, aby bylo znázorněno klíčové koncepty plánování.
| Konfigurace | Výpočetní SKU | vCores | Memory | Maximální počet vstupně-výstupních operací za sekundu (IOPS) | Typ úložiště | Capacity | IOPS | Propustnost |
|---|---|---|---|---|---|---|---|---|
| Konfigurace 1 | Standard_D16ds_v5 | 16 | 64 GB | 25 600 (40 000 shluků) | Premium SSD (P50) | 4 095 GB | 7,500 | 250 MB/s |
| Konfigurace 2 | Standard_D16ds_v5 | 16 | 64 GB | 25 600 (40 000 shluků) | Premium SSD (P50) | 4 096 GB | 7,500 | 250 MB/s |
| Konfigurace 3 | Standard_D16ds_v5 | 16 | 64 GB | 25 600 (40 000 shluků) | SSD úrovně Premium (P80) | 32 TB | 20,000 | 900 MB/s |
| Konfigurace 4 | Standard_D16ds_v5 | 16 | 64 GB | 25 600 (40 000 shluků) | Prémiové SSD v2 | 4 095 GB | 40,000 | 1 200 MB/s |
| Konfigurace 5 | Standard_D32ds_v5 | 32 | 128 GB | 51 200 | Prémiové SSD v2 | 4 095 GB | 60,000 | 1 200 MB/s |
Klíčové pozorování z návrhu konfigurace:
- Konfigurace 1 vs. Konfigurace 2: Tyto konfigurace se liší pouze v velikosti úložiště, 4 095 GB oproti 4 096 GB. Toto porovnání testuje hranici ukládání do mezipaměti hostitele pro disky Premium SSD v1.
- Konfigurace 2 vs. Konfigurace 3: Obě konfigurace používají SSD v1, ale konfigurace 3 se škáluje na kapacitu 32 TB, aby se odemkli vyšší počet IOPS a propustnost.
- Konfigurace 3 vs. Konfigurace 4: Obě konfigurace používají stejné výpočetní prostředky, ale Konfigurace 4 ukazuje flexibilní IOPS a propustnost ssd úrovně Premium v2 nezávisle na kapacitě.
- Konfigurace 4 vs. Konfigurace 5: Konfigurace 5 zdvojnásobuje výpočetní jednotku, aby ukázala, jak vyšší úroveň výpočetního výkonu odemyká více potenciálu pro výkon úložiště.
Výsledky výkonu
Konfigurace 1: 4 095GB Premium SSD v1 s ukládáním do mezipaměti hostitele
Konfigurace 1 používá velikost 4 095 GB na Premium SSD v1, což přináší výhody hostitelského ukládání do mezipaměti na Premium SSD v1. Během úlohy tato konfigurace trvala:
- Maximální počet vstupně-výstupních operací za sekundu: 24 773, omezený na 7 500 přidělených IOPS na disku SSD úrovně Premium v1 s ukládáním do mezipaměti, což zvyšuje efektivní výkon.
- Maximální počet vstupně-výstupních operací čtení: 21 330, které využívají mezipaměť hostitele pro operace náročné na čtení.
- Maximální zápisové IOPS: 7,610
Ukládání do mezipaměti hostitele poskytuje zesílení čtení, takže efektivní IOPS překročí limit 7 500 zřízených IOPS disku a dosáhne limitů výpočetního úložiště.
Konfigurace 2: 4 096GB Premium SSD v1 bez ukládání do mezipaměti hostitele
Konfigurace 2 používá velikost 4 096 GB SSD Premium v1, která překračuje hranici cache a ztrácí výhody cache hostitele. Dopad je viditelný:
- Maximální počet IOPS: Nižší efektivní počet IOPS oproti konfiguraci 1 kvůli ztrátě cache
- Maximální počet vstupně-výstupních operací čtení: Výrazně se snížila bez mezipaměti hostitele.
- Maximální počet vstupně-výstupních operací zápisu: 7 610 beze změny
Tato konfigurace ukazuje praktický význam hranice ukládání do mezipaměti 4 TB. Přechod z 4 095 GB na 4 096 GB změní profil výkonu odebráním čtení uložených v mezipaměti. Pro rostoucí databáze, které se blíží této prahové hodnotě, se předem připravte.
Konfigurace 3: 32 TB SSD úrovně Premium v1 s vyšším IOPS
Konfigurace 3 řeší horní limity IOPS a propustnosti ssd úrovně Premium v1 škálováním na kapacitu 32 TB. Tato konfigurace dosáhla:
- Maximální počet IOPS: 20 000.
- Maximální počet operací čtení za sekundu: Přibližně 12 000.
- Maximální počet IOPS pro zápis: Přibližně 5 000.
Zvýšení základní kapacity úložiště SSD úrovně Premium v1 zvyšuje počet IOPS a propustnost. Stále můžete dosáhnout horních limitů rozsahu výpočetního úložiště pro náročné úlohy.
Konfigurace 4: SSD úrovně Premium v2 s 40 000 IOPS
Konfigurace 4 ukazuje flexibilní konfiguraci výkonu disku SSD Premium v2, zajištění 40 000 IOPS a propustnosti 1 200 MB/s při kapacitě 4 095 GB.
- Maximální počet IOPS: Vyšší efektivní využití díky latenci a propustnosti úrovně Premium SSD v2.
- Maximální počet vstupně-výstupních operací čtení: Vylepšený výkon oproti konfiguracím SSD úrovně Premium v1.
- Maximální počet vstupně-výstupních operací zápisu: Vyšší trvalá kapacita zápisu.
Ssd úrovně Premium v2 umožňuje zřizovat vysoké IOPS bez nutnosti velké kapacity úložiště, takže je efektivní pro úlohy náročné na transakce.
Konfigurace 5: Premium SSD v2 s 60 000 IOPS na výpočetních prostředcích D32ds_v5
Snímek obrazovky s grafem zobrazující výsledky výkonu pro konfiguraci 5 s diskem Premium SSD v2, 60 000 IOPS a výpočetní jednotkou D32ds_v5.
Konfigurace 5 škáluje výkon úložiště na 60 000 IOPS a výpočetní výkon s Standard_D32ds_v5 a 32 virtuálními jádry. Tato konfigurace ukazuje princip komplexního sladění:
- Maximální počet IOPS: Výrazně vyšší než všechny předchozí konfigurace.
- Maximální počet vstupně-výstupních operací čtení: Silné zlepšení s extra výpočetní kapacitou.
- Maximální počet vstupně-výstupních operací zápisu: Zajišťuje trvale vyšší kapacitu zápisu.
Díky sladění výpočetních prostředků i úložiště s vyšší úrovní výkonu tato konfigurace dosáhne nejlepší propustnosti a nejnižšího tlaku procesoru. Vyšší strop úložiště D32ds_v5 umožňuje plnější využití disku SSD Premium v2 s 60 000 IOPS.
Poznatky z srovnávacích testů
Tyto pět konfigurací ilustrují klíčové principy z tohoto článku:
- Na velikosti mezipaměti o velikosti 4 TB záleží.
Konfigurace 1 vs. Konfigurace 2 ukazuje, že ukládání do mezipaměti hostitele poskytuje měřitelné zvýšení výkonu čtení pro kapacity pod 4 TB, zatímco překročení hranice 4 096 GB tuto výhodu odstraňuje. -
Kapacita není výkon.
Konfigurace 3 nastavila 32 TB, ale nedoručila nejvyšší IOPS. Samotná kapacita úložiště nedává propustnost transakcí. -
Premium SSD v2 poskytuje flexibilní ladění výkonu.
Konfigurace 4 vykazovala vysoké IOPS při skromné kapacitě, což potvrzuje oddělený model umožněný Premium SSD v2. -
Výpočetní prostředky a úložiště musí být zarovnané.
Konfigurace č. 5 ukazuje, že maximalizace výkonu úložiště vyžaduje dostatečnou výpočetní kapacitu. Vyšší limit úložiště D32ds_v5 byl nezbytný pro úplnější využití poskytování 60 000 IOPS.
Výsledky srovnávacího testu ověřují základní princip: maximální výkon je komplexní vlastností. Výsledek neneurčuje žádná jedna vrstva, například úložiště, výpočetní prostředky nebo sítě. Úspěch vyžaduje záměrné zarovnání napříč všemi vrstvami, měřeným ověřováním a průběžným pozorováním při vývoji úloh.
Závěr
Azure Postgres poskytuje výkonnou a flexibilní platformu pro vytváření moderních cloudových databázových řešení. Technická příprava napříč Azure výpočetními prostředky, úložištěm, sítěmi, vysokou dostupností, replikací, zabezpečením a pozorovatelnostmi umožňuje některé z nejvýkonnějších a odolných dostupných architektur Postgres.
Maximální výkon se neděje náhodou.
Maximální provozní výkon vyžaduje pochopení aplikace, klientů, úloh, profilu růstu dat, mixu čtení a zápisu a obchodních cyklů, které utvářely poptávku. Vyžaduje také sladění výběru výpočetních a úložných možností tak, aby byly cíle IOPS, propustnosti a latence dosaženy od začátku do konce.
Ssd úrovně Premium v1 může poskytovat silný předvídatelný výkon, zejména pokud se ukládání do mezipaměti hostitele vztahuje na data pod hranicí 4 TB. Premium SSD v2 přidává flexibilnější konfiguraci výkonu oddělením kapacity, IOPS a propustnosti. Ultra Disk představuje nejvyšší třídu výkonu spravovaných disků Azure, zatímco novější generace výpočetních jednotek poskytují podstatně vyšší agregované limity vzdáleného úložiště pro špičkové architektury.
Nejlepší Azure nasazení Postgres kombinují možnosti platformy se záměrným plánováním, průběžným monitorováním a jasným provozním vlastnictvím. Díky správným požadavkům a správné architektuře můžou týmy poskytovat špičkové prostředí Postgres, které poskytují špičkový výkon.
Související obsah
- Azure Premium Storage: návrh pro vysoký výkon
- Azure nárůst výkonu disku
- Velikosti virtuálních počítačů řady Ddv5 a Ddsv5
- Velikosti virtuálních počítačů řady Ddsv6
- možnost úložiště s Premium SSD v Azure Database for PostgreSQL
- možnost úložiště Premium SSD v2 v Azure Database for PostgreSQL
- Typy spravovaných disků Azure
- Monitorování metrik ve službě Azure Database for PostgreSQL