Máy chủ SQL đã phát hiện 2 ổ cắm với 4 lõi trên mỗi ổ cắm nhưng chỉ có một nút NUMA


7

Chúng tôi có phiên bản SQL Server 2012 SP 2 CU 8 trong máy chủ VMWare. Hệ điều hành là Windows Server 2012 R2.

Trình quản lý tác vụ Windows nói rằng chúng tôi có hai ổ cắm và 8 lõi ảo. Con số này tương ứng với phần cứng thực tế bên dưới khách.

Trình quản lý tác vụ và số lượng lõi

Trong Trình quản lý tác vụ, tôi cũng không thể thay đổi chế độ xem thành các nút NUMA.

Vẫn không có nút NUMA

Trong SQL Server vẫn chỉ có một nút NUMA để xem Cấu hình SQL Server NUMA

Ngoài ra đoạn trích từ các truy vấn chẩn đoán Glen Berrys cung cấp cho tôi thông tin này

EXEC sys.xp_readerrorlog 0, 1, N'detected', N'socket';

SQL Server đã phát hiện 2 ổ cắm với 4 lõi mỗi ổ cắm và 4 bộ xử lý logic trên mỗi ổ cắm, 8 bộ xử lý logic; sử dụng 8 bộ xử lý logic dựa trên cấp phép SQL Server. Đây là một thông báo; không có hành động người dùng được yêu cầu.

Từ tất cả các thông tin này, tôi có thể nghi ngờ rằng chúng tôi chỉ chạy trên một nút NUMA nhưng trên hai ổ cắm.

Những câu hỏi của tôi:

  1. Có đúng là chúng ta chỉ chạy trên một nút NUMA không?
  2. Điều này có thể làm tổn thương hiệu suất ngay cả khi mọi thứ nằm trên một nút NUMA không?
  3. Thành phần nào quyết định chính xác ranh giới NUMA? Ví dụ: nếu tôi có một bo mạch chính hai ổ cắm với hai bộ xử lý Intel E5 thì bo mạch chính sẽ ra lệnh cho tôi có bao nhiêu nút NUMA hoặc bộ xử lý.

Tôi nghĩ rằng có rất nhiều thông tin sai lệch về các nút NUMA. Nếu ai đó có thể trả lời câu hỏi của tôi hoặc chỉ ra một tài nguyên hữu ích giải thích khái niệm này một cách chi tiết sẽ thực sự được đánh giá cao.


1
Hans - Tôi đã cập nhật câu trả lời của mình với một số phát hiện thêm vào sáng nay. Tôi nghĩ rằng hai bài viết từ blog VMware trả lời câu hỏi. Tôi nghĩ rằng tất cả những gì còn lại là để bạn xác nhận rằng phần cứng có ít nhất 8 lõi cho mỗi ổ cắm, và sau đó các quan sát của bạn sẽ phù hợp với thông tin trong blog của VMware.
Tony Hinkle

1
@TonyHinkle Sẽ kiểm tra cấu hình vào thứ hai. Cảm ơn bạn rất nhiều vì đã giúp đỡ
Hans Vader

Câu trả lời:


4

Hai bài viết sau đây cho thấy rõ rằng VMware sẽ trình bày cấu hình NUMA ảo cho HĐH khách là tối ưu. Theo đó, số lượng ổ cắm được cấu hình trên VM ít nhiều không liên quan đến số lượng nút NUMA. Nếu phần cứng thực tế có ít nhất 8 lõi trong một nút NUMA, thì VMware sẽ chỉ hiển thị một nút NUMA cho một khách có 8 CPU, bất kể số lượng ổ cắm của VM.

Liệu corespersocket có ảnh hưởng đến hiệu suất?

Máy ảo vCPU và Quyền vNUMA - Quy tắc của ngón tay cái

Xác định ranh giới nút NUMA cho CPU hiện đại chứa hai trích dẫn hữu ích cho thấy rằng, ngay cả trên phần cứng, số lượng ổ cắm không phải lúc nào cũng bằng số lượng nút NUMA:

Khi chúng tôi ban đầu thực hiện phân tích này, các bộ xử lý đa lõi phổ biến là lõi kép hoặc nhiều nhất là lõi tứ. Trên các chip này, các nhà sản xuất phần cứng đã chia ranh giới NUMA thành các lõi, thay vì các ổ cắm. Nhưng có vẻ như cấu hình đó không giống với các chip đa lõi lớn hơn (6, 12, v.v.).

Nói tóm lại, đừng cho rằng ranh giới NUMA của bạn được chia thành các lõi - điều này phụ thuộc rất nhiều vào kiến ​​trúc CPU cụ thể của bạn.

Tôi cũng đã chạy qua một bài viết của TechNet, Soft-NUMA (SQL Server) , nói rằng mỗi ổ cắm thường được đại diện bởi một nút NUMA, nhưng nó không giải thích khi nào nó sẽ không.

Bạn cũng có thể kiểm tra BIOS của phần cứng để đảm bảo rằng NUMA được bật. Tôi sẽ ngạc nhiên nếu nó bị vô hiệu hóa, nhưng tôi đã học được trong sự nghiệp của mình để không bao giờ cho rằng ai đó đã không làm điều gì đó hoàn toàn phi lý.

Trả lời cho những câu hỏi của bạn:

  1. Đưa ra bằng chứng, có vì cả SQL Server và Windows đều nói với bạn rằng chỉ có một nút NUMA và chúng tôi có một số tài liệu từ các nguồn tại VMware rằng nó sẽ trình bày cấu hình vNUMA tối ưu cho khách, sẽ là một NUMA nút miễn là khách được cấu hình có ít hơn hoặc bằng số lượng lõi trong ổ cắm phần cứng và số lượng ổ cắm được hiển thị cho khách là không liên quan.
  2. Nếu kiến ​​trúc hệ thống đang báo cho HĐH rằng có một nút NUMA, thì có một nút NUMA và đó là điều tốt nhất vì tất cả các CPU đều sử dụng cùng một bộ nhớ. Nếu thực sự đó là hai nút NUMA nhưng SQL Server chỉ nhìn thấy một, thì có, nó sẽ ảnh hưởng đến hiệu suất cho mọi thứ chạy song song.
  3. Kiến trúc CPU, lần lượt ra lệnh cho kiến ​​trúc bo mạch chính. Trên máy ảo, cấu hình NUMA được trình bày cho khách được xác định bởi máy chủ ảo hóa (VMware, Hyper-V, v.v.).
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.