Kể từ khi phát hành SQL Server 2016 Service Pack 1 vào ngày 16 tháng 11 năm 2016, với nhiều tính năng rất hữu ích liên quan đến khả năng lập trình mà trước đây chỉ có trong Enterprise Edition, nó đã trở nên khả thi hơn nhiều đối với nhiều tổ chức khi cố tình chọn sử dụng SQL Server 2016 Standard Edition so với trước đây.
Nếu bạn đang nghĩ đến việc này, bạn cần lưu ý một số vấn đề và cạm bẫy phổ biến mà bạn có thể gặp phải khi cài đặt và sử dụng SQL Server 2016 Standard Edition trên máy chủ mới có phần cứng hiện đại.
Giới hạn bộ nhớ và cấu hình
Vấn đề đầu tiên là giới hạn cấp phép cho mỗi phiên bản SQL Server 2016 Standard Edition. Giới hạn giấy phép đầu tiên là dung lượng bộ nhớ mà bạn có thể sử dụng cho vùng đệm cho mỗi phiên bản của SQL Server 2016 Standard Edition, chỉ là 128GB, giống như trong SQL Server 2014 Standard Edition. Cá nhân tôi nghĩ rằng giới hạn này là thấp một cách giả tạo với mật độ bộ nhớ của các máy chủ hai ổ cắm hiện đại, nhưng đó là giới hạn mà chúng tôi phải đối phó.
Máy chủ hai ổ cắm hiện tại sử dụng bộ xử lý dòng sản phẩm Intel Xeon E5-2600 v4 có thể sử dụng tới 12 DIMM cho mỗi bộ xử lý, trong khi 32GB DDR4 ECC DIMM là dung lượng cao nhất cũng có giá cả phải chăng trên mỗi GB. Mỗi máy chủ với họ bộ xử lý này có 4 kênh bộ nhớ trên mỗi bộ xử lý, với mỗi kênh hỗ trợ tối đa 3 DIMM. Một máy chủ hai ổ cắm được điền đầy đủ với 24 DIMM 32 GB sẽ có RAM 768 GB, nhiều hơn nhiều so với một phiên bản SQL Server 2016 Standard Edition được phép sử dụng.
Vì SQL Server 2016 Standard Edition có giới hạn bộ nhớ cho mỗi phiên bản thấp như vậy, bạn nên chủ ý chọn cấu hình bộ nhớ thích hợp để cho phép bạn sử dụng tất cả bộ nhớ giới hạn giấy phép đồng thời có được hiệu suất bộ nhớ tốt nhất có thể. Chỉ điền một DIMM cho mỗi kênh bộ nhớ sẽ mang lại cho bạn hiệu suất bộ nhớ tốt nhất tuyệt đối mà (các) bộ xử lý của bạn hỗ trợ.
Các nhà cung cấp máy chủ lớn, chẳng hạn như Dell, cung cấp hướng dẫn chi tiết về các cấu hình bộ nhớ có thể có cho máy chủ của họ, tùy thuộc vào số lượng và loại bộ xử lý cụ thể được chọn. Đối với SQL Server 2016 Standard Edition trong máy chủ hai ổ cắm với hai bộ xử lý gia đình Intel Xeon E5-2600 v4, việc chọn tám, 32GB DDR4 DIMM sẽ cung cấp cho bạn 256GB RAM, chạy ở tốc độ tối đa được hỗ trợ là 2400MT / s.
Điều này sẽ cho phép bạn đặt bộ nhớ máy chủ tối đa (cho vùng đệm) thành 131.072 MB (128GB) và vẫn còn nhiều bộ nhớ cho hệ điều hành và để chỉ mục cột và trong bộ nhớ-OLTP có thể sử dụng. Bạn cũng sẽ có mười sáu khe DIMM trống có thể được sử dụng để mở rộng RAM trong tương lai (bạn có thể tận dụng lợi thế này nếu bạn thực hiện nâng cấp Phiên bản tiếp theo lên Phiên bản Doanh nghiệp). Một cách sử dụng khác cho một số khe DIMM trống đó sẽ là cho “phần đuôi của bộ nhớ đệm nhật ký” trên NVDIMM (được hỗ trợ trong SQL Server 2016 Standard Edition với SP1).
Giới hạn Giấy phép Bộ xử lý
SQL Server 2016 Standard Edition cũng được giới hạn ở mức ít hơn bốn ổ cắm hoặc 24 lõi xử lý vật lý. Với các dòng vi xử lý hiện tại và sắp tới của cả Intel và AMD sẽ có tới 32 lõi vật lý, rất dễ vô tình vượt quá giới hạn lõi của bộ xử lý cho mỗi phiên bản, với một số hậu quả nghiêm trọng về hiệu suất và chi phí cấp phép.
Tác động tiêu cực đầu tiên của việc làm này là cách SQL Server 2016 Standard Edition sẽ phân bổ các lõi vật lý giới hạn giấy phép có sẵn của bạn trên các nút NUMA của bạn. Ví dụ:nếu bạn có một máy chủ hai ổ cắm mới có hai bộ xử lý Intel Xeon E5-2697A v4 16 lõi, theo mặc định, SQL Server 2016 Standard Edition sẽ sử dụng mười sáu lõi vật lý trên NUMA nút 0 và chỉ tám lõi trên NUMA nút 1, là một cấu hình không cân bằng sẽ không hoạt động tốt như nó có thể. Bạn có thể khắc phục sự cố này bằng lệnh ALTER SERVER CONFIGURATION như tôi mô tả ở đây.
Để tăng thêm sự xúc phạm trong tình huống này, Microsoft cũng mong muốn bạn mua giấy phép lõi cho tất cả 32 lõi vật lý trong máy, mặc dù bạn chỉ được phép sử dụng 24 lõi vật lý cho mỗi trường hợp. Đây sẽ là chi phí giấy phép bổ sung khoảng $ 15K, đối với các giấy phép cốt lõi mà bạn sẽ không thể sử dụng, trừ khi bạn quyết định chạy nhiều phiên bản trên cùng một máy chủ. Chi phí giấy phép bổ sung sẽ trả cho một máy chủ hai ổ cắm điển hình, tùy thuộc vào cách nó được định cấu hình.
Một lỗi phổ biến khác mà bạn nên tránh với Standard Edition là tạo một máy ảo có nhiều hơn bốn ổ cắm. Nếu bạn làm điều đó, SQL Server Standard Edition sẽ chỉ sử dụng bốn ổ cắm do giới hạn giấy phép ổ cắm.
Lựa chọn bộ xử lý
Hiện tại, dòng vi xử lý Intel Xeon hiện đại nhất dành cho máy chủ hai socket là dòng sản phẩm Intel Xeon E5-2600 v4 14nm (Broadwell-EP) đã được phát hành vào quý 1 năm 2016. Intel đang chuẩn bị phát hành Intel 14nm thế hệ tiếp theo. Xeon E5-2600 v5 (Skylake-EP), đã có sẵn trong Google Cloud Platform. Tôi đoán rằng những bộ xử lý mới này (sẽ yêu cầu máy chủ mẫu mới) sẽ được công bố rộng rãi vào quý 2 năm 2017.
Với giới hạn giấy phép lõi 24 vật lý này, điều này cực kỳ quan trọng rằng bạn không chọn bộ xử lý có nhiều hơn 12 lõi vật lý (nếu bạn định điền cả hai ổ cắm của máy chủ hai ổ cắm). Điều này hạn chế phần nào lựa chọn SKU bộ xử lý của bạn, nhưng vẫn có bốn lựa chọn tuyệt vời có sẵn, như được hiển thị trong Bảng 1.
Model | Các lõi | Ước tính Điểm hệ thống TPC-E | Điểm / Cốt lõi vật lý | Chi phí Giấy phép |
---|---|---|---|---|
Xeon E5-2687W v4 | 24 | 3.673,00 | 153,04 | $ 44.592,00 |
Xeon E5-2667 v4 | 16 | 2.611,91 | 163,24 | $ 29.728,00 |
Xeon E5-2643 v4 | 12 | 2.081,36 | 173,44 | $ 22.296,00 |
Xeon E5-2637 v4 | 8 | 1.428,39 | 178,54 | $ 14.864,00 |
Bảng 1:Số liệu so sánh của bộ xử lý hệ thống hai ổ cắm
Bảng 1 cho thấy tổng số lõi vật lý, điểm TPC-E ước tính, điểm TPC-E ước tính / lõi vật lý và tổng chi phí giấy phép SQL Server 2016 Standard Edition cho một hệ thống hai ổ cắm, có hai trong số các bộ xử lý đã chọn. Bạn có thể nhận thấy rằng tôi có bộ xử lý mười hai lõi, bộ xử lý tám lõi, bộ xử lý sáu lõi và bộ xử lý bốn lõi, nhưng không có bộ xử lý mười lõi trong Bảng 1. Đây là do thiết kế ba mô hình bộ xử lý mười lõi có sẵn đều là những lựa chọn rất tồi cho SQL Server, vì tốc độ xung nhịp cơ bản rất thấp của chúng.
Điểm TPC-E ước tính cho toàn bộ hệ thống là thước đo tổng dung lượng CPU của hệ thống, trong khi điểm / lõi là thước đo hiệu suất CPU đơn luồng của bộ xử lý cụ thể đó.
Tóm tắt
Nếu bạn muốn có hiệu suất tốt nhất có thể với chi phí cấp phép phần cứng và SQL Server thấp nhất cho phiên bản SQL Server 2016 Standard Edition, bạn nên chọn cấu hình bộ nhớ chỉ sử dụng một DIMM cho mỗi kênh bộ nhớ (có nghĩa là tổng số tám DIMM trong một hệ thống hai ổ cắm với hai bộ xử lý gia đình Intel Xeon E5-2600 v4).
Bạn cũng nên cố ý chọn một trong bốn bộ xử lý được liệt kê trong Bảng 1. Bất kỳ lựa chọn bộ xử lý nào khác đều là một sai lầm đắt giá theo quan điểm này.
Cuối cùng, nếu bạn đang sử dụng SQL Server 2016 Standard Edition, bạn nên điều tra và kiểm tra xem phần mở rộng vùng đệm (BPE) có thể giúp hiệu suất với khối lượng công việc của bạn hay không. Tùy thuộc vào khối lượng công việc của bạn, bộ nhớ đệm “đuôi của nhật ký” trên NVDIMM cũng có thể rất có lợi cho hiệu suất nhật ký giao dịch của bạn.