Một bước đầu tiên, dễ dàng để di chuyển khối lượng công việc tại chỗ của SQL Server của bạn lên đám mây là sử dụng Azure VMs để chạy khối lượng công việc SQL Server của bạn trong kịch bản cơ sở hạ tầng dưới dạng dịch vụ (IaaS). Điều này giúp loại bỏ gánh nặng mua và duy trì phần cứng, bộ nhớ và cơ sở hạ tầng mạng của bạn, trong khi vẫn mang lại cho bạn trải nghiệm rất quen thuộc với chính Windows và SQL Server.
Bạn sẽ vẫn phải duy trì hệ điều hành, SQL Server và cơ sở dữ liệu giống như bạn làm trong tình huống tại chỗ. Để đổi lấy điều này, cơ sở dữ liệu và ứng dụng của bạn sẽ hoạt động giống như khi chúng được cài đặt tại chỗ, điều này làm cho điều này trở thành một cách dễ dàng để bắt đầu sử dụng Azure.
Một lựa chọn quan trọng mà bạn vẫn sẽ phải thực hiện là loại và kích thước của máy ảo Azure bạn muốn sử dụng cho khối lượng công việc SQL Server hiện có của mình. Không giống như kịch bản tại chỗ, bạn sẽ có ít quyền kiểm soát hơn nhiều đối với lựa chọn bộ xử lý thực tế trong máy chủ bên dưới. Với Azure VM, bạn chọn một loạt máy cụ thể (chẳng hạn như một loạt Esv3) và kích thước trong một vùng Azure cụ thể, sau đó bạn nhận được bất kỳ bộ xử lý nào mà Microsoft đang sử dụng cho loạt và kích thước đó trong vùng Azure đó.
Các loại và dòng máy ảo Azure
Microsoft hiện có tám loại máy ảo chính được thiết kế cho các loại khối lượng công việc khác nhau. Chúng bao gồm Cấp độ mục nhập, Mục đích chung, Tối ưu hóa cho máy tính, Tối ưu hóa bộ nhớ, Tối ưu hóa bộ nhớ, GPU, Tính toán hiệu suất cao và Vùng bảo mật bí mật.
Đối với khối lượng công việc OLTP SQL Server hiệu suất cao, loại máy ảo Azure được tối ưu hóa bộ nhớ thường là lựa chọn tốt nhất. Theo Microsoft, “Kích thước máy ảo được tối ưu hóa bộ nhớ cung cấp tỷ lệ bộ nhớ trên CPU cao, rất phù hợp cho các máy chủ cơ sở dữ liệu quan hệ”. Điều này cung cấp cho bạn số lượng lõi thấp hơn, với nhiều bộ nhớ hơn, thường là những gì bạn muốn cho SQL Server, để giảm thiểu chi phí giấy phép của bạn mà vẫn có hiệu suất tốt.
Bạn thậm chí có thể đi sâu hơn vào con đường này với kích thước VM có khả năng hỗ trợ vCPU Hạn chế, nơi bạn có thể giới hạn số lượng vCPU của VM (bằng một nửa hoặc một phần tư kích thước VM ban đầu) để giảm chi phí cấp phép SQL Server, trong khi vẫn duy trì cùng một bộ nhớ , lưu trữ và băng thông I / O như một máy ảo không bị ràng buộc. Các máy ảo Azure bị ràng buộc này có một hậu tố trong tên cho biết số lượng vCPU đang hoạt động trong máy ảo.
Ví dụ:Standard_E64s_v3 thông thường sẽ có 64 lõi vCPU, trong khi Standard_E64-16s_v3 bị ràng buộc sẽ chỉ có 16 lõi vCPU với các thông số kỹ thuật giống hệt nhau. Hậu tố -16s cho biết số lõi vCPU đang hoạt động.
Esv3-series
Dòng sản phẩm này sử dụng bộ xử lý Intel Xeon Platinum 8171M (Skylake-SP) 2,1 GHz, đây là bộ xử lý SKU đặt riêng đặc biệt không có trong cơ sở dữ liệu Intel ARK công khai. Nó dường như có thông số kỹ thuật giống hệt với bộ vi xử lý 26C / 52T 2.1 GHz Intel Xeon Platinum 8170M (Skylake-SP). Hậu tố M trong số kiểu máy có nghĩa là nó hỗ trợ 1,5TB RAM trên mỗi ổ cắm thay vì 768 GB RAM trên mỗi ổ cắm. Esv3-series được đánh giá ở 160-190 Đơn vị tính toán Azure (ACU).
Lưu ý:Ở một số khu vực, Microsoft sử dụng bộ xử lý đặt riêng Intel Xeon E5-2673 v4 (Broadwell) cũ hơn trong Esv3-series. Microsoft’s Mine Tokus có một bài viết hay trong đó cô ấy đã chạy một loạt các điểm chuẩn TPC-E thu nhỏ so với máy ảo E64s_v3 đang sử dụng bộ xử lý Broadwell cũ hơn.
Esv3-series bắt đầu với Standard_E2s_v3 với 2 vCPU và 16GB RAM, và nó đứng đầu với Standard_E64is_v3 với 64 vCPU và 432GB RAM. Cũng có sự khác biệt lớn về dung lượng lưu trữ và thông lượng giữa các thái cực này. BTW, chữ “i” trong cách đặt tên Standard_E64is_v3 có nghĩa là phiên bản được tách biệt với phần cứng dành riêng cho một khách hàng. Hầu hết các kích thước Esv3-series thông thường cũng có sẵn dưới dạng máy ảo giới hạn, mang lại cho bạn sự linh hoạt trong việc định kích thước.
Nếu bạn so sánh chặt chẽ Hình 1 và Hình 2, bạn sẽ thấy một tập hợp các lựa chọn thuận lợi hơn nhiều về số lượng vCPU, dung lượng RAM và thông lượng đĩa tối đa chưa được lưu trữ với các lựa chọn VM bị ràng buộc trong Hình 2.
Hình 1:Thông số kỹ thuật Esv3-series thông thường (nhấp để phóng to)
Đặc biệt, tôi thích kích thước Standard_E16-4s_v3, Standard_E32-8s_v3, Standard_E48-12s_v3 và Standard_E64-16s_v3 cho SQL Server vì chúng có sự kết hợp cực kỳ tốt giữa số lượng lõi tương đối thấp, dung lượng bộ nhớ cao và thông lượng đĩa cao so với các lựa chọn có sẵn khác trong loạt bài này.
Đây là tất cả các dịch vụ bị ràng buộc chỉ sử dụng một phần tư số lõi vCPU có sẵn của sản phẩm thông thường. Các lựa chọn khác trong Hình 2 đều sử dụng một nửa số lõi vCPU có sẵn của sản phẩm thông thường, với cùng giới hạn bộ nhớ và thông lượng đĩa, điều này sẽ tăng gấp đôi chi phí giấy phép của bạn với RAM và thông lượng đĩa thấp hơn so với mức bạn có thể nhận được với lựa chọn tốt hơn .
Hình 2:Thông số kỹ thuật của Esv3-series bị ràng buộc (nhấp để phóng to)
Ví dụ:so sánh ba lựa chọn VM có thể được hiển thị trong Hình 3. Bằng cách lựa chọn khôn ngoan trong số các lựa chọn bị ràng buộc với số lượng vCPU cụ thể, bạn có thể nhận được thông lượng bộ nhớ và đĩa từ 2X đến 4X với cùng một chi phí cấp phép SQL Server.
Hãy nhớ rằng chi phí tính toán, bao gồm cả cấp phép hệ điều hành, vẫn giống như kích thước vCPU ban đầu mà kích thước bị ràng buộc được lấy từ đó.
Hình 3:Thông số kỹ thuật vCPU Esv3-series 8 so sánh (nhấp để phóng to)
Esv4-series
Một lựa chọn khác rất phù hợp cho cả khối lượng công việc OLTP và DW là Esv4-series. Các máy ảo này sử dụng bộ xử lý AMD EPYC 7452 (Rome) 7nm 2,35GHz mới hơn. Bộ xử lý này có 32C / 64T, xung nhịp cơ bản 2,35 GHz, xung nhịp tăng tối đa lên đến 3,35 GHz, 128MB bộ nhớ đệm L3, 128 làn PCIe 4.0 và dung lượng RAM 2TB. Các máy ảo Azure trong loạt bài này bắt đầu với Standard_E2as_v4 với 2 vCPU và 16GB RAM, và nó đứng đầu với Standard_E96as_v4 với 96 vCPU và 672GB RAM. Esv4-series được đánh giá ở mức 230-260 Đơn vị tính toán Azure (ACU).
Bộ xử lý AMD EPYC 7452 thực sự nhanh hơn đáng kể cho hiệu suất CPU đơn luồng so với bộ xử lý Intel Xeon Platinum 8171M theo tính toán điểm TPC-E ước tính của tôi. AMD EPYC 7452 có điểm số / lõi TPC-E ước tính là 67,64, trong khi Intel Xeon Platinum 8171M có điểm số / lõi TPC-E ước tính là 49,55. Tôi tin rằng điều này là do IPC cao hơn và tốc độ xung nhịp cơ bản cao hơn của bộ xử lý AMD.
Hình 4 cho thấy các thông số kỹ thuật liên quan cho hầu hết các kích thước máy ảo dòng Esv4. Theo những gì tôi có thể nói, Microsoft vẫn chưa cung cấp các phiên bản hạn chế của máy ảo dòng Esv4. Hy vọng rằng họ sẽ làm được điều đó trong tương lai.
Hình 4:Các thông số kỹ thuật của Esv4-series đã chọn (nhấp để phóng to)
Kết luận
Khi bạn sử dụng máy ảo Azure cho khối lượng công việc của SQL Server, bạn nên dành một chút thời gian để đánh giá loạt Azure VM và kích thước khác nhau có sẵn trong khu vực ưa thích của bạn. Microsoft sử dụng các bộ vi xử lý đặt riêng khác nhau trong các dòng máy ảo khác nhau và đôi khi trong cùng một dòng máy ảo. Thực hiện phân tích kiểu này về các lựa chọn có sẵn của bạn cho dòng máy ảo và định cỡ sẽ là một trong những nhiệm vụ ban đầu của bạn. Nếu có thể, hãy cố gắng tận dụng các dịch vụ hạn chế mà Microsoft cung cấp, vì chúng mang lại giá trị tuyệt vời cho SQL Server.
Sau khi bạn đã chọn một loạt máy ảo và kích thước, tôi sẽ thực hiện một số điểm chuẩn CPU và bộ nhớ nhanh, chẳng hạn như CPU-Z, Geekbench 5 và CrystalDiskMark 7 như một kiểm tra ban đầu (trước khi bạn cài đặt SQL Server). Điều này sẽ cho phép bạn so sánh các máy ảo Azure của mình với nhau và với phần cứng và bộ nhớ tại chỗ kế thừa của bạn. Tim Radney có một bài viết tuyệt vời về quá trình này (để lưu trữ).