Microsoft разполага с голям брой различни серии и размери на виртуални машини Azure, ако се интересувате от използването на тяхната инфраструктура като опция за услуга (IaaS) за хостване на екземпляри на SQL Server. Едно първоначално решение, което ще трябва да вземете, е каква серия и размер на Azure VM искате да използвате за конкретното си работно натоварване на SQL Server.
За локално използване на SQL Server, вие искате да направите внимателен анализ на вашето работно натоварване и наличните сървърни модели и модели на процесори, за да получите сървър с подходящ избор на процесор, за да сведете до минимум разходите за лиценз за SQL Server и да получите най-добра производителност и възможен капацитет при дадена цена на лиценз за SQL Server. Разликата в цената и производителността между добър избор на процесор и лош избор на процесор може да бъде доста драматична.
С Azure VM трябва да направите подобен анализ, но по малко по-различни причини. Цената на лицензиране на SQL Server на Azure VM е пряко свързана с броя на ядрата във VM. Искате да изберете размер на VM, който отговаря на очакваните ви нужди за производителност и капацитет на процесора, капацитет на паметта и производителност на съхранение.
За разлика от локалния сценарий, вие ще имате много по-малко контрол върху действителния избор на процесор в основната хост машина. С Azure VM избирате конкретна серия машини (като серия GS) и размер в конкретен център за данни Azure и след това получавате какъвто и процесор, който Microsoft използва за тази серия и размер в този център за данни Azure. Понастоящем Microsoft има 42 различни региона, които имат центрове за данни Azure, така че можете да използвате матрицата, показана на тази страница, за да откриете какви серии VM се предлагат във всеки регион.
Azure Compute Unit (ACU)
Една много важна концепция, която трябва да разберете, когато сравнявате и избирате SKU на Azure VM, е Azure Compute Unit (ACU), който ви позволява да сравнявате изчислителната производителност (производителност на ядро vCPU) в различни SKU на Azure VM. Това измерване на ACU понастоящем е стандартизирано на малка (Standard_A1) VM с резултат 100 и всички други SKU на Azure след това имат ACU резултати, които представляват приблизително колко по-бързо този конкретен Azure SKU може да изпълнява стандартен бенчмарк на CPU. Така, например, Standard_A1 има ACU/vCPU резултат от 100, докато Standard_GS5 има ACU/vCPU резултат от 240.
Разглеждането на ACU резултата за Azure VM SKU ви дава прилична представа за производителността на еднонишковия процесор на процесора, използван в основната хост машина. Също така е важно да се разбере дали този конкретен процесор поддържа Intel Turbo Boost и/или Intel Hyper-Threading, тъй като не всички процесори, използвани в различните SKU на Azure VM, поддържат тези технологии.
Можете да направите това, като идентифицирате действителния хост CPU във вашата виртуална машина в страницата CPU на раздела Performance на Windows Task Manager или като използвате помощна програма като CPU-Z. След като идентифицирате точния модел процесор в хоста, можете да използвате онлайн базата данни Intel ARK, за да получите конкретни подробности за този процесор.
Нови размери на Azure VM за SQL Server
Често срещан проблем с оразмеряването на Azure VM за SQL Server е фактът, че често сте били принудени да изберете размер на VM, който има много повече виртуални ядра на процесора, отколкото сте необходими или желаете, за да имате достатъчно памет и производителност за съхранение, за да поддържате работното си натоварване, което увеличи месечната Ви цена за лицензиране.
За щастие, Microsoft наскоро направи процеса на вземане на решение малко по-лесен за SQL Server с нова серия от Azure VM, които използват някои специфични размери на VM (DS, ES, GS и MS), но намаляват броя на vCPU до една четвърт или половина от оригиналния размер на VM, като същевременно се поддържа същата памет, съхранение и I/O честотна лента. Тези нови размери на VM имат суфикс, който определя броя на активните vCPU, за да ги улесни за идентифициране.
Например, Standard_DS14v2 Azure VM ще има 16 vCPU, 112 GB RAM и поддържа до 51 200 IOPS или 768 MB/sec последователна пропускателна способност (според Microsoft). Нова VM Standard_DS14-8v2 Azure ще има само 8 vCPU, със същия капацитет на паметта и производителност на диска като Standard_DS14v2, което ще намали разходите ви за лицензиране на SQL Server годишно с 50%. И двата Azure VM SKU ще имат еднакъв ACU резултат от 160.
Един донякъде объркващ проблем с тези нови SKU на Azure VM е, че месечната цена за изчисление (която включва лицензиране на ОС) и за двата SKU ще бъде една и съща ($ 989,52/месец за този пример). Там, където спестявате, са намалените месечни разходи за лицензиране на SQL Server.
По същество това, което Microsoft прави тук, е да деактивира ядрата във виртуалната машина, за да намали разходите ви за лицензиране на SQL Server, което е нещо, което нямате право да правите с локалния SQL Server. С локалния SQL Server не ви е позволено да деактивирате процесорните ядра във вашия UEFI/BIOS, за да намалите разходите за лиценз за SQL Server. Дори ако деактивирате ядрата в UEFI/BIOS, пак трябва да лицензирате тези ядра за SQL Server.
Сравнителен анализ на вашата Azure VM с CPU-Z
Един много бърз бенчмарк на CPU, който можете да стартирате на всяка машина (физическа или виртуална, Azure VM или не), е вграденият CPU-Z бенчмарк, който отнема само около 20 секунди, за да завърши. Създадох стандартен DS14-8_v2 в центъра за данни в Южен централен САЩ. Тази виртуална машина използваше процесора Intel Xeon E5-2673 v3 Haswell-EP, който е 12-ядрен процесор с базова тактова честота от 2,4 GHz и Turbo тактова честота от 3,2 GHz, която изглежда е специален SKU процесор, който не е в базата данни на Intel Ark. Това семейство процесори беше представено през третото тримесечие на 2014 г., така че е налично от повече от три години. На тази конкретна VM не видях да се използва Turbo Boost по време на моето тестване.
Разглеждайки фигури от 1 до 3, можете да видите резултатите от сравнителния анализ на CPU-Z за тази Azure VM, като Фигура 4 е резултатите за моя действително бърз лаптоп Dell Precision 5520. Моят лаптоп има същия брой виртуални ядра като стандартната DS14-8_v2 Azure VM, но използвам много по-нов процесор Intel Xeon E3-1505M v6 Kaby Lake с по-висока базова тактова честота и по-добра еднонишкова производителност.
Фигура 1:Мениджър на задачите от стандарт DS14-8_v2 в Южен централен САЩ
Фигура 2:Раздел CPU-Z CPU от стандарт DS14-8_v2 в Южен централен САЩ
Фигура 3:Раздел CPU-Z Bench от стандартен DS14-8_v2 в Южен централен САЩ
Фигура 4:Раздел CPU-Z Bench от лаптопа на Glenn