Na początku tego roku pisałem o porównywaniu wydajności maszyn wirtualnych Windows Azure, używając Geekbench 3.1.5 w 32-bitowym trybie próbnym do pomiaru wydajności procesora i pamięci wielu maszyn wirtualnych Windows Azure o różnej wielkości. Obejmowały one od podstawowej maszyny wirtualnej A0 aż do standardowej maszyny wirtualnej A7, która była wówczas największą dostępną maszyną wirtualną. Wszystkie te maszyny znajdowały się w centrum danych East Azure w Stanach Zjednoczonych i wszystkie korzystały ze starszego sprzętu hosta Azure Gen 2, który zawiera stary i stosunkowo wolny procesor AMD Opteron 4171 HE.
W rezultacie wyniki Geekbench dla tych maszyn były dość niskie, zarówno dla wyników jednordzeniowych, jak i wielordzeniowych, jak widać w Tabeli 1.
Rozmiar maszyny wirtualnej | Rdzenie procesora | Pamięć | Koszt miesięczny | Wynik jednego rdzenia | Wynik wielordzeniowy |
---|---|---|---|---|---|
Podstawowy A0 | 1 (udostępniony) | 768 MB | 14 USD | 507 | 498 |
Podstawowy A1 | 1 | 1,75 GB | 56 USD | 679 | 670 |
Podstawowy A2 | 2 | 3,5 GB | 111 USD | 709 | 1358 |
Podstawowy A3 | 4 | 7 GB | 221 USD | 717 | 2472 |
Podstawowy A4 | 8 | 14 GB | 441 USD | 724 | 4042 |
Standard A0 | 1 (udostępniony) | 768 MB | 15 USD | 492 | 502 |
Standardowy A1 | 1 | 1,75 GB | 67 USD | 1068 | 1083 |
Standard A2 | 2 | 3,5 GB | 134 USD | 1069 | 2002 |
Standardowy A3 | 4 | 7 GB | 268 USD | 1070 | 3593 |
Standardowy A4 | 8 | 14 GB | 536 USD | 1094 | 6446 |
Standardowy A5 | 2 | 14 GB | 246 USD | 1.080 | 2026 |
Standardowy A6 | 4 | 28 GB | 492 USD | 1.080 | 3686 |
Standardowy A7 | 8 | 56 GB | 983 USD | 1056 | 6185 |
Tabela 1:Wybrane specyfikacje maszyn wirtualnych dla Windows Azure w centrum danych wschodnich Stanów Zjednoczonych
Nawet największa standardowa maszyna wirtualna A7 wypada dość słabo w porównaniu z przeciętnym nowoczesnym laptopem, zarówno pod względem wydajności jednordzeniowej, jak i wielordzeniowej. W Geekbench wynik pojedynczego rdzenia mierzy jednowątkową wydajność procesora, która jest w zasadzie surową prędkością procesora. Wydajność jednowątkowa jest bardzo ważna w przypadku obciążeń OLTP, w których większość zapytań jest uruchamiana na pojedynczym rdzeniu procesora. Wynik wielordzeniowy mierzy ogólną wydajność procesora systemu, która jest równa ilości współbieżnego obciążenia, które możesz obsłużyć. Chociaż wiele mniejszych obciążeń SQL Server może działać doskonale przy tym poziomie wydajności i pojemności maszyn wirtualnych, jako administrator nie byłbym zadowolony z używania starszego sprzętu Azure Gen 2 dla moich maszyn wirtualnych SQL Server.
Niedawno firma Microsoft udostępniła większe i znacznie szybsze maszyny wirtualne Standard A8 i A9 Azure Compute Intensive. Te maszyny wirtualne są wyposażone w znacznie nowsze i szybsze 32-nanometrowe procesory Intel Xeon E5-2670 Sandy Bridge-EP, które zostały pierwotnie wprowadzone na rynek w pierwszym kwartale 2012 r. Ten konkretny procesor ma osiem fizycznych rdzeni (plus hyper-threading); z podstawową częstotliwością zegara 2,6 GHz i zegarem Turbo Boost 3,3 GHz. Ten procesor był dwa kroki w dół od „najwyższej linii” ośmiordzeniowego procesora Xeon E5-2690, ale w rzeczywistości jest to całkiem przyzwoity procesor. Kolejną bardzo ważną funkcją, która jest dostępna w tych nowych rozmiarach maszyn wirtualnych, jest sieć InfiniBand 40 Gbit/s, która daje potencjał znacznie lepszej wydajności we/wy.
Rozmiar maszyny wirtualnej | Rdzenie procesora | Pamięć | Koszt miesięczny | Wynik jednego rdzenia | Wynik wielordzeniowy |
---|---|---|---|---|---|
Standardowy A8 | 8 | 56 GB | 1823 USD | 2484 | 15 376 |
Standardowy A9 | 16 | 112 GB | 3646 USD | 2477 | 28 523 |
Tabela 2:Wybrane specyfikacje maszyn wirtualnych dla systemu Windows Azure w centrum danych we wschodnich Stanach Zjednoczonych
Jak widać w tabeli 2, te nowe maszyny wirtualne platformy Azure o intensywnym przetwarzaniu obliczeniowym mają znacznie lepsze wyniki jedno- i wielordzeniowe w Geekbench. Mają też znacznie wyższe miesięczne koszty. Patrząc na te miesięczne koszty z prostej perspektywy sprzętowej, można kupić zupełnie nowy serwer Dell PowerEdge R720 z dwoma nowszymi 22-nanometrowymi, ośmiordzeniowymi procesorami Intel Xeon E5-2667 v2 Ivy Bridge-EP i 192 GB pamięci RAM za około 10 000,00 USD, czyli około trzech miesięcy standardowego czasu A9. W przypadku lokalnego serwera fizycznego poniosą Państwo również koszty zasilania i chłodzenia, a także bieżące koszty utrzymania i koszty administracyjne. Miałbyś również dłuższy czas na zamówienie i odbiór fizycznego serwera, a następnie umieszczenie go w szafie, okablowanie i skonfigurowanie. W większości firm proces ten trwa zwykle od trzech do czterech tygodni, ale może trwać znacznie dłużej. Sytuacja ekonomiczna zmienia się po uwzględnieniu kosztów licencji SQL Server 2012/2014 Enterprise Edition, które wyniosłyby około 110 000,00 USD za licencje na 16 rdzeni procesora, co przy obecnych cenach odpowiadałoby około 30 miesiącom standardowego czasu A9. Jeśli używasz obrazu maszyny wirtualnej platformy Azure ze standardowej galerii obrazów maszyn wirtualnych firmy Microsoft, nie musisz płacić za licencje systemu operacyjnego ani programu SQL Server.
Podczas wykonywania tych testów zauważyłem kilka innych interesujących różnic między maszyną wirtualną platformy Azure a podobnym serwerem fizycznym. Pierwszym z nich był fakt, że maszyny wirtualne Azure Standard A8 i A9 wydają się korzystać z pewnego rodzaju zarządzania energią na poziomie hosta lub hipernadzorcy, dzięki czemu nie jest używany Intel Turbo Boost. Kiedy uruchamiam Geekbench w systemie i oglądam CPU-Z podczas testu, prędkość rdzenia procesora pozostaje na nominalnej podstawowej prędkości zegara podczas całego testu. Jeśli zarządzanie energią jest prawidłowo skonfigurowane na wszystkich poziomach, a funkcja Turbo Boost jest włączona w systemie BIOS hosta, podczas testu powinno być widoczne, że szybkość rdzenia procesora podskakuje okresowo do pełnej szybkości zegara Turbo Boost 3,3 GHz. Nie dzieje się tak w przypadku maszyn wirtualnych Azure A8 i A9, co obniża jednordzeniowy wynik Geekbench 3.1.6 o około 10%. Różnice w szybkościach rdzeni procesora pokazano na rysunkach 1 i 2.
Rysunek 1:CPU-Z dla standardowej maszyny wirtualnej Azure A9 podczas Geekbench uruchomienie testowe
Rysunek 2:CPU-Z dla Dell PowerEdge R720 podczas testu Geekbench biegać
Jakie są więc główne wnioski wyciągnięte z tych eksperymentów? Po pierwsze, wydaje się oczywiste, że można uzyskać prawie taką samą wydajność maszyny wirtualnej ze standardowej maszyny wirtualnej Azure A9, jak z dwuprocesorowego serwera fizycznego o podobnej wielkości (z tym samym procesorem), takiego jak Dell PowerEdge R720 lub HP ProLiant DL380 G8 . Będziesz używać nieco starszego, średniej klasy procesora Sandy Bridge-EP, bez włączonego Intel Turbo Boost, więc stracisz łącznie około 40% wydajności jednowątkowego procesora w porównaniu z obecnym rocznikiem Intel Xeon E5-2667 v2 w nowym fizycznym serwerze lokalnym.
Innym potencjalnym problemem jest limit pamięci wynoszący 112 GB dla standardowej maszyny wirtualnej platformy Azure A9 w porównaniu z 384 GB w przypadku fizycznego serwera lokalnego (z modułami DIMM 16 GB). Jeśli obciążenie bazy danych może działać dobrze przy około 95 GB puli buforów programu SQL Server, nie powinno to stanowić problemu. W przeciwnym razie możesz nie być zbyt zadowolony ze swojego występu. Warto również przeprowadzić pewne testy we/wy i testy porównawcze, aby określić, jak dobrze działa maszyna wirtualna platformy Azure A9 i czy może obsłużyć Twoje obciążenie.
Na koniec należy wziąć pod uwagę ekonomikę korzystania ze standardowego obrazu maszyny wirtualnej z galerią platformy Azure, w którym koszty licencji programu SQL Server 2014 są uwzględnione jako część miesięcznego kosztu platformy Azure. W zależności od tego, jak długo uważasz, że Twoja instancja będzie działać, korzystanie z maszyny wirtualnej platformy Azure może być bardzo dobrą lub niezbyt dobrą ofertą. Jednym z czynników, który może mieć wpływ na te obliczenia, jest prawdopodobieństwo, że ceny maszyn wirtualnych platformy Azure z czasem spadną.