sql >> Databáze >  >> RDS >> Database

Porovnání výkonu virtuálních počítačů Windows Azure, část 1

Pokud jste se nesnažili to ignorovat, možná jste slyšeli, že Microsoft by opravdu jako když přesunete velkou část své databázové infrastruktury SQL Server do datového centra Microsoftu, ať už přejdete do Azure SQL Database (o které jsem nedávno mluvil zde), nebo jestli ji hostujete na virtuálním počítači Windows Azure. Microsoft tyto trvalé virtuální stroje nazývá výpočetní instance a mají na výběr dvě hlavní úrovně, mezi které patří základní výpočetní vrstva a standardní výpočetní vrstva. Tyto dvě úrovně popisují jako:

Základní výpočetní vrstva :Tato nová vrstva výpočetních instancí je v konfiguraci podobná úrovni Standard s nižšími cenami. Tyto instance nezahrnují nástroj pro vyrovnávání zatížení a automatické škálování. Jsou vhodné pro produkční aplikace s jednou instancí, vývojové pracovní zátěže, testovací servery a aplikace pro dávkové zpracování, které tyto funkce nemusí vyžadovat. Základní výpočetní vrstva je aktuálně k dispozici pouze pro obecné instance. Tyto případy se pohybují od Basic A0 do Basic A4.

Standardní výpočetní úroveň :Tato vrstva výpočetních instancí poskytuje optimální sadu výpočetních, paměťových a I/O zdrojů pro provoz široké škály aplikací. Tyto instance zahrnují funkce automatického škálování a vyvažování zátěže bez dalších nákladů. Standardní výpočetní vrstva je dostupná napříč instancemi General Purpose, Memory Intensive a Compute Intensive. Tyto případy se pohybují od Standard A0 do Standard A7.

Hostování infrastruktury SQL Server na virtuálním počítači Windows Azure má několik důležitých výhod. Za prvé, nemáte žádné kapitálové náklady na úložiště nebo hardware spolu s žádnou průběžnou údržbou úložiště nebo hardwaru. Za druhé, nemáte žádné licenční náklady na OS nebo SQL Server (když používáte bitovou kopii SQL ze standardní galerie virtuálních počítačů Azure). Zatřetí, můžete vytvořit nový virtuální počítač Azure, který už má SQL Server nainstalovaný, za pár minut (i když může trvat trochu déle, než úplně nakonfigurujete OS a instanci SQL Serveru podle vašich přesných požadavků). Do budoucna bude stále na vás, zda si nainstalujete aktualizace Windows a SQL Server, ale nebudete se muset starat o věci, jako jsou aktualizace firmwaru, BIOSu nebo ovladačů.

Pokud chcete používat Windows Azure Virtual Machines k hostování celé infrastruktury SQL Server nebo její části, měli byste znát aktuální podrobnosti o cenách, které jsou k dispozici pro konkrétní datové centrum Azure, ve kterém chcete hostovat své virtuální stroje, protože ceny mohou se v různých datových centrech Microsoftu liší. Microsoft má v současnosti 13 různých velikostí virtuálních počítačů Windows Azure, jak je podrobně uvedeno na stránce Velikosti virtuálních počítačů a cloudových služeb pro Azure. Společnost Microsoft snížila 1. května 2014 hodinové ceny pro instance náročné na paměť (Standard A5, Standard A6 a Standard A7) o 18 % ve většině svých datových center a ceny uvedené v tabulce 1 odráží tyto nové nižší ceny.

Jednojádrové skóre a vícejádrové skóre ve dvou pravých sloupcích tabulky 1 jsou průměrná skóre, která jsem pozoroval při použití 32bitové verze procesoru Geekbench 3.05 a benchmarku paměti na ukázkovém Windows Server 2012 R2 Datacenter. VM v datovém centru East U.S. Tato skóre mohou, ale nemusí reprezentovat to, co uvidíte.

Velikost virtuálního počítače Jádra CPU Paměť (GB) Hodinové náklady Měsíční náklady Jednojádrové skóre Multi-Core Score
Základní A0 1 (sdíleno) 0,75 0,018 $ ~14 $ 507 498
Základní A1 1 1,75 0,074 $ ~56 $ 679 670
Základní A2 2 3,50 0,148 $ ~111 $ 709 1 358
Základní A3 4 7,00 0,296 $ ~221 $ 717 2 472
Základní A4 8 14:00 0,592 $ ~441 $ 724 4 042
Standard A0 1 (sdíleno) 0,75 0,020 $ ~15 $ 492 502
Standard A1 1 1,75 0,090 $ ~67 $ 1 068 1 083
Standardní A2 2 3,50 0,180 $ ~134 $ 1 069 2 002
Standardní A3 4 7,00 0,360 $ ~268 $ 1 070 3 593
Standardní A4 8 14:00 0,720 $ ~536 $ 1 094 6 446
Standardní A5 2 14:00 0,330 $ ~246 $ 1 080 2 026
Standardní A6 4 28:00 0,660 $ ~492 $ 1 080 3 686
Standardní A7 8 56,00 1 320 $ ~983 $ 1 056 6 185

Tabulka 1:Vybrané specifikace virtuálního počítače pro Windows Azure v datovém centru East U.S.

V současné době má Microsoft devět datových center, která mohou hostovat nové trvalé virtuální stroje, mezi něž patří východní USA, západ USA, Brazílie – jih (náhled), severní Evropa, západní Evropa, východní Asie, jihovýchodní Asie, západní Japonsko a východní Japonsko. Podle Microsoftu je "A1 nejmenší velikost doporučená pro produkční úlohy" a měli byste vybrat "virtuální stroj se 4 nebo 8 jádry CPU při použití SQL Server Enterprise Edition." Jednou z užitečných, i když poněkud zastaralých referencí pro spouštění SQL Serveru na virtuálním počítači Windows Azure je Průvodce výkonem pro SQL Server ve virtuálních strojích Windows Azure, který byl publikován v červnu 2013.

Charakteristiky virtuálního počítače Windows Azure

Když se podíváte na vlastnosti CPU na kartě Výkon ve Správci úloh systému Windows Server 2012 R2 (na obrázku 1 a obrázku 2), všimnete si, že hlásí, že používá relativně starý 45nm procesor AMD Opteron 4171 HE běžící na rychlostí 2,1 GHz. Tento konkrétní šestijádrový procesor byl představen v červnu 2010 jako součást dvoupaticové lisabonské rodiny. Přípona HE znamená, že se jedná o "nízkopříkonový" energeticky účinný model, který není dobrou volbou pro použití SQL Server, protože poskytuje značné množství výkonu při relativně malém množství snížené spotřeby energie. Po nějakém průzkumu mi bylo řečeno, že tento procesor je speciální OEM procesor pro datová centra Microsoftu.


Obrázek 1:Základní virtuální stroj A0 ve východních datech USA Střed


Obrázek 2:Standardní virtuální počítač A7 v datech východních USA Střed

Dalším velkým problémem tohoto procesoru je kromě jeho stáří a relativně slabého jednovláknového výkonu skutečnost, že má pouze šest fyzických jader. Toto je problém s velikostmi virtuálních počítačů Basic A4, Standard A4 a Standard A7, které mají dva uzly NUMA a celkem osm fyzických jader. To by znamenalo, že virtuální počítač této velikosti by překročil uzel NUMA na základním fyzickém hostiteli, což není dobrý nápad pro výkon paměti. Těžko uvěřím, že by to Microsoft udělal schválně. Také je pro mě těžké uvěřit, že každý jednotlivý virtuální počítač Azure v každém datovém centru, které jsem dosud zkoušel, používá úplně stejný starší procesor AMD. Je poměrně všeobecně známo, že Microsoft má minimálně tři různé generace hardwaru (Gen 1, Gen 2 a Gen 3), které dosud používal ve svých datových centrech Azure a nabízí různý výkon virtuálních počítačů. Po několika dalších dotazech jsem zjistil, že tento procesor AMD Opteron 4171 HE je procesor Azure Gen 2.

Zde můžete procházet online databázi nahraných výsledků benchmarků Geekbench 3 a hledat systémy využívající procesor AMD Opteron 4171 HE. Můžete si všimnout, že každý jednotlivý výsledek pro tento procesor se zdá být pro Microsoft Virtual Machine, což je také docela kuriózní. Správce úloh systému Windows Server 2012 R2 hlásí mezipaměť L1 jako „N/A“ a neuvádí ani velikosti mezipaměti L2 a L3 na těchto virtuálních počítačích Azure. Dalším kuriózním důkazem je skutečnost, že standardní instance mají asi o 50 % vyšší skóre Geekbench 3 než ekvivalentní základní instance, když mají přesně stejný celkový počet procesorových jader a velikost paměti, a to jak pro jednojádrové, tak pro vícejádrové skóre. skóre. Tato velká odchylka nedává žádný smysl, pokud základní hostitelský stroj ve skutečnosti používá stejný procesor.

Shrnutí

Všechny tyto důkazy mě zpočátku vedly k závěru, že Microsoft pravděpodobně zakrýval skutečný procesor v hostitelském počítači. Myslel jsem, že to mohli dělat, aby zabránili lidem v úmyslném zajišťování více virtuálních počítačů, dokud náhodou nezískají, že virtuální počítač běží na novějším, rychlejším hostitelském hardwaru. Ukazuje se, že Microsoft není tak chytrý. Byl jsem ujištěn, že Microsoft nemění identitu CPU ve virtuálním počítači Azure. Existují novější procesory Azure Gen 3, které můžete získat ve virtuálním počítači Azure, protože v budoucnu budete zajišťovat nové virtuální počítače. Dalším možným důvodem mých výsledků bylo, že pravděpodobně používají nějaký druh správy k omezení výkonu virtuálních počítačů na spolehlivou, jednotnou úroveň bez ohledu na základní hostitelský hardware, takže mohou v průběhu času hostovat více virtuálních počítačů na méně hardwaru. To by byl chytrý postup pro hostitele IaaS.

Relativně nízké skóre Geekbench 3.05 (viz obrázek 3) i pro ty největší virtuální počítače Azure znamená, že se vzdáváte značného množství výkonu procesoru a paměti ve srovnání s ekvivalentním fyzickým dvousocketovým serverem se stejným počtem procesorových jader a paměti.


Obrázek 3:32bitové výsledky Geekbench 3.05 pro standard Virtuální stroj A4 ve východním datovém centru USA

Mnoho úloh SQL Serveru poběží s touto úrovní výkonu virtuálních počítačů naprosto dobře, i když trochu pomaleji, než jste možná zvyklí. Pokud zohledníte úspory licencí SQL Server 2014 Enterprise Edition z osmijádrového stroje plus kapitálové náklady na skromný dvoupaticový server a jeho přidružené úložiště, můžete si dovolit provozovat standardní virtuální stroj A7 24×7 za přibližně pět až šest let. Vzhledem k tomuto druhu návratnosti investic vidím, že mnoho organizací činí ekonomické rozhodnutí přesunout alespoň část své infrastruktury SQL Server do Azure Virtual Machines. Pokud vaše pracovní zátěž může běžet na virtuálním počítači s kapacitou 56 GB nebo menší a pokud je také přijatelný nižší výkon CPU a paměti než u typického nedávného notebooku, jedná se o racionální postup. Microsoft nedávno oznámil dostupnost větších, mnohem rychlejších výpočetních instancí A8 a A9 VM, které využívají procesory Intel Xeon E5-2670. Oproti procesorům Azure Gen 2 to bude obrovské zlepšení výkonu.

V připravovaném článku se podívám na výkon I/O ve virtuálních počítačích Azure.


  1. Proč se sekvence ID SQL nesynchronizují (konkrétně pomocí Postgres)?

  2. Aspekty řetězců v .NET

  3. Existuje způsob, jak zakázat přetížení funkcí v Postgresu

  4. Získání a instalace Microsoft SQL Server Management Studio