Định cấu hình RAM cho SQL Server và NUMA


10

Quản trị DB tình cờ ở đây.

Câu hỏi:

Bạn vẫn sẽ tự giới hạn RAM tối đa cho SQL Server mặc dù mục đích duy nhất của máy chủ đó là chỉ phục vụ công cụ cơ sở dữ liệu SQL Server?

Tôi có Microsoft Windows 2012 R2 Server, SQL Server 2012 Std, với 32GB RAM.

Quản trị viên liên tục đăng nhập vào SQL Server để sử dụng bảng điều khiển của nó và tất cả.

Thứ hai, làm thế nào để bạn kiểm tra xem máy chủ Windows này có được kích hoạt NUMA không?

Câu trả lời:


9

Bạn vẫn sẽ tự giới hạn RAM tối đa cho MSSQL mặc dù mục đích duy nhất của máy chủ đó là chỉ phục vụ MSSQL?

Đó là một chủ đề gây tranh cãi khi xem xét bạn có SQL Server 2012 tại đây. Nếu bạn đã hỏi cùng một câu hỏi về SQL Server 2005/2008, trên Windows Server 2003/2008, tôi khuyên bạn nên đặt giới hạn bộ nhớ máy chủ tối đa do các lỗi trong hệ điều hành Windows (2003/2008). Nhưng cấu hình bộ nhớ và hiệu năng hệ điều hành đã thay đổi đáng kể từ SQL Server 2012 trở đi và Window Server 2008/2012 r2 trở đi, nếu bạn hỏi ý kiến ​​của tôi, You can leave max server memory configuration to default if you have enough RAM on system and you are just using database engine features.Nếu bạn hỏi các kỹ sư của MS về điều này, họ cũng sẽ nói rằng SQL Server được mã hóa tốt để quản lý bộ nhớ theo chính nó và nếu bạn có hệ thống dành riêng cho công cụ cơ sở dữ liệu SQL, bạn có thể để bộ nhớ máy chủ tối đa SQL Server về SQL Server mặc định sẽ quản lý nó hiệu quả.

Dù sao nếu bạn vẫn muốn cấu hình, bạn có thể đọc Câu hỏi và câu trả lời tương tự được đưa ra trên Chủ đề SE này

Có những tình huống đòi hỏi bộ nhớ máy chủ tối đa tôi đã phác thảo rằng trong luồng SE này

Thứ hai, làm thế nào để bạn kiểm tra xem máy chủ Windows này có được kích hoạt NUMA không?

Một tìm kiếm nhỏ sẽ dẫn bạn đến bài viết Blogs.msdn này. Nó có nhiều mô tả hình ảnh khác nhau khi SQL Server nhận biết được NUMA và đang sử dụng nó.


2
Tôi thích sử dụng bảng của Brent Ozar để tham khảo nhanh về cài đặt bộ nhớ cho các trường hợp sử dụng chung.
LowlyDBA

3
Đó là lý do để tham khảo nhanh và hoạt động như một điểm khởi đầu cho một giá trị. Tôi khá chắc chắn nếu bạn hỏi anh ấy, anh ấy sẽ nói rằng bạn cần phải tiếp tục nhìn vào quầy nước hoa để đạt được giá trị tối ưu . Đây là lý do tại sao tôi đã thêm một liên kết SE chỉ trong trường hợp OP muốn đặt bộ nhớ máy chủ tối đa.
Shanky

2

SQL NUMAnhận thức được nên bạn có thể tìm NUMAthông tin bằng truy vấn. Bạn cũng có thể sử dụng truy vấn này để xem NUMAbạn có bao nhiêu nút và CPU và lõi được gán cho NUMA:

SELECT parent_node_id, scheduler_id, cpu_id
FROM sys.dm_os_schedulers WITH (NOLOCK) 
WHERE [status] = N'VISIBLE ONLINE';

Hoặc chỉ có bao nhiêu NUMA:

select COUNT(distinct Parent_node_id)
from sys.dm_os_schedulers
where [STATUS] = 'VISIBLE ONLINE'
    and Parent_node_ID < 64

-2

Có, bạn nên giới hạn bộ nhớ tối đa cho SQL Server mặc dù máy chủ chỉ có một mục đích. Nếu không, SQL Server có thể bắt đầu sử dụng bộ nhớ Windows cần phải hoạt động tốt. Thông thường để lại 1GB -> 20% tổng RAM cho Windows, tùy thuộc vào nhu cầu của bạn.

Cấu hình NUMA của máy chủ được hiển thị trong Trình quản lý tác vụ bằng cách chọn một quy trình, nhấp chuột phải và chọn Đặt mối quan hệ. Windows Resource Monitor cũng hiển thị thông tin NUMA.

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.