Microsoft прави все по-лесно стартирането на SQL Server 2014 на виртуална машина Azure в един от седемнадесетте Azure центъра за данни на Microsoft. Можете да стартирате предварително конфигурирана виртуална машина с предварително конфигуриран екземпляр на SQL Server 2014 от галерията на Azure по ваш избор от всякакъв размер Azure виртуална машина. Един от вариантите от галерията е „SQL Server 2014 Enterprise, оптимизиран за транзакционни натоварвания“, работещ на Windows Server 2012 R2. Едно хубаво нещо при използването на предварително конфигурирано изображение на галерията е, че не е нужно да плащате за никакви лицензи за SQL Server 2014. Вие просто плащате почасовата цена за изданието на SQL Server и размера на виртуалната машина, които изберете.
Опции за конфигуриране на SQL Server 2014
Microsoft обяснява, че "Това изображение на Enterprise Edition е оптимизирано за OLTP работни натоварвания и е предназначено за размери на VM, включително A4, A7, A8 и A9. След като бъде разгърната, VM идва с предварително конфигурирани Windows Storage Spaces." Microsoft също така извършва някои конфигурации на ниво екземпляр на SQL Server 2014, въпреки че те не стигат достатъчно далеч с това, което бих счел за стандартни най-добри практики.
Те създават осем tempdb файла с данни, които са с размер 25600MB, с автоматично увеличение от 1024MB, което е добър избор по подразбиране. Те също така позволяват TF1117 и TF1118 като флагове за проследяване при стартиране, които също са добър избор за SQL Server. И накрая, Microsoft също така позволява незабавна инициализация на файлове и заключване на страници в паметта в операционната система, с което също съм съгласен.
Бих предпочел Microsoft също да направи някои промени в тези опции за конфигурация на ниво инстанция:
- по подразбиране за компресиране на архивиране
- праг на разходите за паралелизъм
- максимална степен на паралелизъм
- максимална памет на сървъра (MB)
- оптимизирайте за ad hoc работни натоварвания
Компресията на архивиране трябва да е активирана по подразбиране в повечето случаи. Прагът на разходите за паралелизъм често трябва да се повишава до по-висока стойност от стойността по подразбиране от 5, в зависимост от вашето работно натоварване. Максималната степен на паралелизъм обикновено трябва да бъде променена на стойност, която не е по подразбиране въз основа на броя на ядрата в NUMA възел. Тази настройка зависи и от вашето работно натоварване. Максималната памет на сървъра трябва да бъде зададена на стойност, която не е по подразбиране, въз основа на количеството RAM във виртуалната машина и това, което изпълнявате (освен двигателя на базата данни на SQL Server) на VM. И накрая, мисля, че оптимизирането за ad hoc работни натоварвания трябва да бъде активирано, почти във всички случаи.
В защита на Microsoft би било трудно да се направи задоволителен избор на конфигурация за някои от тези елементи, без да се знаят (предварително) подробностите за размера на вашата VM и очакваното работно натоварване на сървъра на базата данни. Това оставя задачата на вас, точно както при локален екземпляр на SQL Server.
Оразмеряване на виртуална машина Azure
Въпреки че можете да изберете всичко от A0 Basic до A9 Standard машина, Microsoft препоръчва да изберете или A4 Standard, A7 Standard, A8 Standard или A9 Standard размер виртуална машина за използване в производството. Подробности за цените за виртуални машини на SQL Server са изброени тук.
Разглеждайки сравнителните спецификации за тези препоръки в Таблица 1, е трудно да се разбере защо бихте искали да изберете машина A4 Standard, тъй като тя струва същата сума на час като по-големите машини A7 или A8 Standard. Разглеждайки онлайн документацията, първоначално не е много ясно каква е действителната разлика между A7 и A8 Standard машина. Ако копаем малко по-дълбоко, машината A8 Standard се счита за интензивен изчислителен екземпляр, който би трябвало да използва по-бърз 2.6GHz процесор Intel Xeon E5-2670, заедно с два мрежови адаптера (един 10Gbps и един 32Gbps RDMA).
Стандартната виртуална машина A7 използва малко по-бавен 2.2GHz процесор Intel Xeon E5-2660, докато мрежовата връзка изглежда е стандартен 1Gbps Ethernet. Въпреки че това звучи като значителна разлика в производителността на процесора и мрежата, това всъщност не е основният проблем с виртуалните машини от серия A за използване на SQL Server.
Размер на VM | Стандартна скорост на SQL | SQL Enterprise Rate | Брой ядра | Количество RAM |
---|---|---|---|---|
Стандарт A4 | $0,80/час | $3,00/час | 8 | 14 GB |
Стандарт A7 | $0,80/час | $3,00/час | 8 | 56 GB |
Стандарт A8 | $0,80/час | $3,00/час | 8 | 56 GB |
Стандарт A9 | $1,60/час | $6,00/час | 16 | 112 GB |
Таблица 1:Информация за виртуална машина на SQL Server от серия A
Основният проблем с всички виртуални машини от серия A е доста мизерната производителност на I/O подсистемата, въпреки че Microsoft е конфигурирала предварително дисковата подсистема с Windows Storage Spaces, за да постигне възможно най-добра производителност предвид присъщите ограничения на производителността на A- серия виртуални машини и хостове. Фигура 1 показва резултатите от CrystalDiskMark за E:устройство от стандартна машина A4 от центъра за данни на East US Azure, която е предназначена за регистрационни файлове на транзакции.
Фигура 1:A4 Стандартни резултати CrystalDiskMark
Много по-добра алтернатива за SQL Server са виртуалните машини от серия D. Тези виртуални машини струват същото на час като виртуалните машини от серия A със сравним размер и имат локално SSD съхранение, което трябва да се използва само за tempdb и/или за файлове с разширения на буферния пул (BPE), тъй като те не са постоянни. Някои подходящи спецификации за виртуални машини от серия D са показани в Таблица 2.
Размер на VM | Стандартна скорост на SQL | SQL Enterprise Rate | Брой ядра | Количество RAM |
---|---|---|---|---|
Стандарт D4 | $0,80/час | $3,00/час | 8 | 28 GB |
Стандарт D13 | $0,80/час | $3,00/час | 8 | 56 GB |
Стандарт D14 | $1,60/час | $6,00/час | 16 | 112 GB |
Таблица 2:Информация за виртуална машина на SQL Server от серия D
Машината D4 Standard струва същата като машина A4 Standard, но има два пъти повече RAM и малко локално SSD съхранение. Стандартната машина D13 струва същата като стандартната машина A7 или A8, но с предимството на локалното съхранение на SDD. Машината D14 Standard струва същата като машина A9 Standard, но също така има предимството на локално SSD съхранение. Като се има предвид тази информация, няма смисъл да се използва виртуална машина от серия A за SQL Server.
За съжаление, постоянните устройства за вашите данни и регистрационни файлове на SQL Server също имат доста нестандартна I/O производителност в CrystalDiskMark, както е показано на фигури 2 и 3.
Фигура 2:D14 Стандартни резултати CrystalDiskMark | Фигура 3:D14 Стандартни резултати CrystalDiskMark |
Локалната производителност на SSD е свързана с размера на виртуалната машина Azure, като по-големите размери осигуряват по-добра локална производителност на SSD. Резултатите от производителността на CrystalDiskMark за машина D14 Standard в центъра за данни Azure в източната част на САЩ са показани на Фигура 4.
Фигура 4:D14 Стандартни резултати CrystalDiskMark за локално SSD съхранение
F:устройството (за файлове с данни на SQL Server) има малко по-добри резултати от устройството E:, но и двете устройства имат много ниско ниво на производителност за SQL Server.
Заключение
Изглежда доста ясно, че машините от серия D са по-добри за използване на SQL Server от машините от серия A. Също така има смисъл да обърнете голямо внимание на оразмеряването и ценообразуването на виртуалната машина, която решите да предоставите за SQL Server, тъй като можете да получите повече RAM на същата почасова цена. Двата най-добри избора от гледна точка на производителността са виртуалните машини D13 или D14 Standard.
Предварително конфигурираните екземпляри на SQL Server 2014 от галерията на Azure могат да ви спестят много пари от разходите за лицензиране на SQL Server и имат голяма част от необходимата работа по конфигуриране, която вече е завършена в базовото изображение. Все пак трябва да влезете и да направите няколко окончателни промени в конфигурацията въз основа на вашите предпочитания и работно натоварване. И накрая, трябва да отделите време, за да изпълните някои показатели за ефективност на вашата виртуална машина, така че да разберете нивото на производителност, което може да осигури.