Една първоначална, лесна стъпка за преместване на вашите локални работни натоварвания на SQL Server в облака е използването на Azure VM за изпълнение на вашите SQL Server работни натоварвания в сценарий за инфраструктура като услуга (IaaS). Това премахва тежестта на закупуването и поддръжката на вашия хардуер, съхранение и мрежова инфраструктура, като същевременно ви дава много познато изживяване с Windows и самия SQL Server.
Все пак ще трябва да поддържате операционната си система, SQL Server и базите данни точно както бихте направили при локален сценарий. В замяна на това вашите бази данни и приложения ще работят точно както при локална инсталация, което прави това лесен начин да започнете да използвате Azure.
Един важен избор, който все пак ще трябва да направите, е какъв тип и размер виртуална машина Azure искате да използвате за съществуващото си работно натоварване на SQL Server. За разлика от локалния сценарий, вие ще имате много по-малко контрол върху действителния избор на процесор в основната хост машина. С Azure VM избирате конкретна серия машини (като серия Esv3) и размер в определен регион на Azure и след това получавате какъвто и процесор, който Microsoft използва за тази серия и размер в този регион на Azure.
Типове и серии Azure VM
В момента Microsoft има осем основни типа виртуални машини, предназначени за различни видове натоварвания. Те включват начално ниво, общо предназначение, оптимизирано за изчисления, оптимизирано за паметта, оптимизирано съхранение, графичен процесор, високопроизводителни изчисления и поверителен защитен анклав.
За високопроизводителни работни натоварвания на OLTP SQL Server обикновено най-добрият избор е оптимизираният за паметта тип Azure VM. Според Microsoft „оптимизираните за паметта размери на VM предлагат високо съотношение памет към процесор, което е чудесно за сървъри на релационни бази данни“. Това ви дава по-нисък брой ядра, с повече памет, което обикновено е това, което искате за SQL Server, за да сведете до минимум разходите си за лиценз и да имате добра производителност.
Можете да отидете още по-надолу по този път с VM с възможност за ограничени vCPU, където можете да ограничите броя на VM vCPU (до една половина или една четвърт от оригиналния размер на VM), за да намалите разходите за лицензиране на SQL Server, като същевременно поддържате същата памет , съхранение и I/O честотна лента като неограничена VM. Тези ограничени Azure VM имат суфикс в името, който показва броя на активните vCPU във VM.
Например:обикновен Standard_E64s_v3 ще има 64 vCPU ядра, докато ограничен Standard_E64-16s_v3 ще има само 16 vCPU ядра с иначе идентични спецификации. Суфиксът -16s показва броя на активните vCPU ядра.
Esv3-серия
Тази серия използва 2,1 GHz процесор Intel Xeon Platinum 8171M (Skylake-SP), който е специален процесор по поръчка SKU, който не е в публичната база данни Intel ARK. Изглежда, че има идентични спецификации с 26C/52T 2.1 GHz Intel Xeon Platinum 8170M (Skylake-SP) процесор. Суфиксът M в номера на модела означава, че той поддържа 1,5 TB RAM на сокет, а не 768 GB RAM на сокет. Серията Esv3 е оценена на 160-190 Azure Compute Units (ACU).
Забележка:В някои региони Microsoft използва по-стария процесор Intel Xeon E5-2673 v4 (Broadwell) по поръчка в серията Esv3. Mine Tokus на Microsoft има добра статия, в която тя проведе серия от намалени тестове за TPC-E срещу E64s_v3 VM, която използваше по-стария процесор Broadwell.
Серията Esv3 започва с Standard_E2s_v3 с 2 vCPU и 16 GB RAM и достига до Standard_E64is_v3 с 64 vCPU и 432 GB RAM. Съществуват и големи разлики в капацитета за съхранение и пропускателната способност между тези крайности. Между другото, „i“ в именуването Standard_E64is_v3 означава, че екземплярът е изолиран за хардуер, посветен на един клиент. Повечето от обикновените размери от серията Esv3 се предлагат и като ограничени виртуални машини, което ви дава голяма гъвкавост за оразмеряване.
Ако сравните отблизо фигури 1 и 2, ще видите много по-благоприятен набор от възможности за избор на vCPU, количества RAM и максимална пропускателна способност на некеширан диск с ограничените възможности за избор на VM на фигура 2.
Фигура 1:Редовни спецификации на серия Esv3 (щракнете, за да увеличите)
По-специално, харесвам размерите Standard_E16-4s_v3, Standard_E32-8s_v3, Standard_E48-12s_v3 и Standard_E64-16s_v3 за SQL Server, тъй като те имат изключително добра комбинация от относително нисък брой ядра, висок капацитет на паметта и висока пропускателна способност на диска в сравнение с други налични възможности за избор в тази серия.
Това са всички ограничени предложения, които използват само една четвърт от наличните vCPU ядра на редовното предложение. Всички други варианти на фигура 2 използват половината от наличните vCPU ядра от редовното предложение, със същите ограничения на паметта и пропускателната способност на диска, което би удвоило цената на лиценза ви с по-ниска RAM и дискова пропускателна способност, отколкото бихте могли да получите при по-добър избор .
Фигура 2:Ограничени спецификации на серия Esv3 (щракнете, за да увеличите)
Например, сравнете трите възможни избора на VM, показани на фигура 3. Избирайки разумно измежду ограничените възможности за избор при конкретен брой vCPU, можете да получите между 2X и 4X пропускателната способност на паметта и диска за една и съща цена за лицензиране на SQL Server.
Имайте предвид, че изчислителната цена, която включва лицензиране на ОС, остава същата като оригиналния размер на vCPU, от който е получен ограниченият размер.
Фигура 3:Сравнителни спецификации на Esv3-series 8 vCPU (щракнете, за да увеличите)
Esv4-серия
Друг избор, който е подходящ както за OLTP, така и за DW работни натоварвания, е Esv4-серията. Тези VM използват по-новия 7nm 2.35GHz AMD EPYC 7452 (Рим) процесор. Този процесор има 32C/64T, базова тактова честота от 2,35GHz, максимален такт за усилване до 3,35 GHz, 128MB L3 кеш, 128 PCIe 4.0 ленти и 2TB RAM капацитет. Виртуалните машини Azure в тази серия започват със Standard_E2as_v4 с 2 vCPU и 16 GB RAM и завършват със Standard_E96as_v4 с 96 vCPU и 672 GB RAM. Серията Esv4 е оценена на 230-260 Azure Compute Units (ACU).
Процесорът AMD EPYC 7452 всъщност е значително по-бърз за еднонишкова производителност на процесора от процесора Intel Xeon Platinum 8171M според моите изчисления за оценка на TPC-E. AMD EPYC 7452 има прогнозен TPC-E резултат/ядро от 67,64, докато Intel Xeon Platinum 8171M има прогнозен TPC-E резултат/ядро от 49,55. Вярвам, че това се дължи на по-високия IPC и по-високата базова тактова честота на процесора AMD.
Фигура 4 показва съответните спецификации за повечето от размерите на VM от серията Esv4. Доколкото мога да кажа, Microsoft все още не предлага ограничени версии на виртуалните машини от серията Esv4. Надяваме се, че ще правят това в бъдеще.
Фигура 4:Избрани спецификации от серия Esv4 (щракнете, за да увеличите)
Заключение
Когато използвате виртуални машини на Azure за работни натоварвания на SQL Server, трябва да прекарате известно време в оценка на различните серии и размери на Azure VM, които са налични в предпочитания от вас регион. Microsoft използва различни поръчкови процесори в различни серии VM и понякога в рамките на една и съща серия VM. Извършването на този вид анализ на наличните ви избори за VM серии и оразмеряване трябва да бъде една от първоначалните ви задачи. Ако е възможно, опитайте се да се възползвате от ограничените предложения, които Microsoft предлага, тъй като те предлагат отлична стойност за SQL Server.
След като изберете серия и размер на VM, бих направил някои бързи тестове за CPU и съхранение, като CPU-Z, Geekbench 5 и CrystalDiskMark 7 като първоначална проверка за здравина (преди дори да инсталирате SQL Server). Това ще ви позволи да сравните вашите Azure VM помежду си и с вашия наследен локален хардуер и хранилище. Тим Радни има страхотна статия за този процес (за съхранение).