Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Máy chủ cơ sở dữ liệu mới của bạn cần bao nhiêu RAM?

Một câu hỏi xuất hiện khá thường xuyên là làm thế nào để xác định bao nhiêu RAM vật lý trong máy chủ cơ sở dữ liệu chạy SQL Server 2012. Một trong những thông tin đầu tiên bạn cần xác định đây là phiên bản và phiên bản SQL Server bạn sẽ chạy. trên máy chủ mới của bạn.

Các phiên bản và phiên bản khác nhau của SQL Server 64-bit có các giới hạn giấy phép khác nhau đối với dung lượng RAM vật lý mà chúng có thể sử dụng cho các mục đích khác nhau, như được trình bày trong Bảng 1.

Phiên bản Phiên bản Giới hạn động cơ Giới hạn SSAS
SQL Server 2008 Tiêu chuẩn

Giới hạn hệ điều hành

Giới hạn hệ điều hành
Doanh nghiệp

Giới hạn hệ điều hành

Giới hạn hệ điều hành
SQL Server 2008 R2 Tiêu chuẩn

64 GB

64 GB
Doanh nghiệp

2 TB

2 TB
Trung tâm dữ liệu

Giới hạn hệ điều hành

Giới hạn hệ điều hành
SQL Server 2012 Tiêu chuẩn

64 GB

64 GB
Business Intelligence

64 GB

Giới hạn hệ điều hành
Doanh nghiệp

Giới hạn hệ điều hành

Giới hạn hệ điều hành

Bảng 1:Giới hạn RAM của Máy chủ SQL theo Phiên bản và Phiên bản

Như bạn có thể thấy từ Bảng 1, SQL Server 2008 có thể sử dụng đến giới hạn hệ điều hành cho RAM vật lý cho cả Phiên bản Chuẩn và Phiên bản Doanh nghiệp. Khi Microsoft phát hành SQL Server 2008 R2, họ đã có ý tưởng tồi (theo ý kiến ​​của tôi) là đưa ra giới hạn RAM vật lý thấp hơn cho cả Phiên bản Chuẩn và Phiên bản Doanh nghiệp. Họ cũng giới thiệu Phiên bản Trung tâm Dữ liệu mới của SQL Server 2008 R2, có giới hạn hệ điều hành cũ, quen thuộc là giới hạn cấp phép cho RAM vật lý.

Giới hạn bộ nhớ SQL Server 2012

Khi Microsoft phát hành SQL Server 2012, họ đã khôn ngoan loại bỏ SKU Phiên bản Trung tâm Dữ liệu, nhưng họ vẫn giữ nguyên giới hạn RAM 64GB thấp giả tạo cho Phiên bản Tiêu chuẩn. Tôi đã viết dài dòng về lý do tại sao đây là một ý tưởng tồi, vì vậy tôi sẽ không tóm tắt lại những lập luận đó ở đây. Chỉ cần nói rằng hơi nực cười khi bị hạn chế sử dụng RAM DDR3 ECC trị giá dưới 800 USD (64GB nhân với 12 USD / GB) trong một máy chủ hai ổ cắm mới có thể có giá khoảng 10 - 15 nghìn USD cho chính máy chủ. , cộng với khoảng $ 29K cho mười sáu Giấy phép Core phiên bản tiêu chuẩn SQL Server 2012, chưa kể chi phí lưu trữ của bạn.

Cho đến nay, không có dấu hiệu nào cho thấy Microsoft có bất kỳ ý định thay đổi giới hạn RAM này cho SQL Server 2014, vì vậy chúng tôi có thể phải tiếp tục xử lý nó. Một khía cạnh tích cực nhỏ của giới hạn RAM này là nó dành cho mỗi phiên bản SQL Server, không phải cho mỗi máy chủ. Điều đó có nghĩa là bạn có thể, với một chút suy nghĩ và lập kế hoạch, quyết định cài đặt hai hoặc ba phiên bản SQL Server 2012 Standard Edition trên cùng một máy vật lý để tận dụng tất cả tài nguyên bộ nhớ, bộ xử lý và lưu trữ của máy, nếu bạn sẵn sàng để đối phó với việc sử dụng tài nguyên bổ sung và chi phí quản lý của các phiên bản được đặt tên. Điều này có thể giúp bạn tiết kiệm một khoản tiền đáng kể cho phần cứng và chi phí cấp phép SQL Server 2012 so với việc có hai hoặc ba máy chủ riêng biệt.

Nếu bạn quyết định chỉ sử dụng một phiên bản mặc định duy nhất của SQL Server 2012 Standard Edition (mà tôi thích hơn nếu tôi bị giới hạn ở Standard Edition), bạn có nên chỉ nhận 64GB RAM cho máy chủ cơ sở dữ liệu không? Tôi nghĩ câu trả lời là không!

Ví dụ về cấu hình bộ nhớ phiên bản tiêu chuẩn của SQL Server 2012

Kể từ cấp máy chủ, RAM DDR3 ECC có giá cả phải chăng; Tôi nghĩ rằng số lượng RAM tối thiểu hợp lý cho một máy chủ hai ổ cắm mới là gần 96GB RAM. Điều này sẽ cho phép bạn đặt cài đặt bộ nhớ máy chủ tối đa cấp phiên bản thành 65536MB, chính xác là 64 GB RAM, trong khi vẫn để lại nhiều RAM dư thừa cho hệ điều hành và bất kỳ ứng dụng nào khác có thể đang chạy trên máy chủ cơ sở dữ liệu của bạn.

Các nhà cung cấp máy chủ lớn có tài liệu và công cụ cấu hình bộ nhớ trực tuyến giúp đảm bảo rằng bạn đang nhận được cấu hình bộ nhớ tốt nhất có thể cho một lượng bộ nhớ vật lý mong muốn. Bạn cũng có thể sử dụng một công cụ như CPU-Z để kiểm tra tốc độ bộ nhớ hệ thống để đảm bảo rằng nó đang chạy ở tốc độ bạn mong đợi.

Ví dụ, Dell có một công cụ cấu hình trực tuyến tại đây. Công cụ này cho phép bạn chọn kiểu máy chủ Dell mà bạn muốn, bao gồm dòng bộ xử lý bạn sẽ sử dụng (khi bạn có quyền lựa chọn) và số lượng bộ xử lý vật lý thực sự sẽ có trong máy chủ. Sau đó, bạn nhập bao nhiêu RAM vật lý bạn muốn vào máy chủ và chọn các tùy chọn độ tin cậy của bộ nhớ mong muốn (chẳng hạn như phản chiếu bộ nhớ, tiết kiệm xếp hạng, v.v.), và sau đó công cụ sẽ đưa ra ba cấu hình bộ nhớ khác nhau có thể có:Cấu hình danh nghĩa, Hiệu suất tối đa và cấu hình cân bằng. Các cấu hình này hiển thị loại, số lượng và kích thước của mô-đun bộ nhớ bạn nên sử dụng cũng như các kênh và khe bộ nhớ bạn nên điền để đáp ứng tùy chọn cấu hình đã chọn.

Nếu bạn chọn máy chủ hai ổ cắm Dell PowerEdge R720, với hai trong số các bộ xử lý Intel Xeon E5-2600 v2 (Ivy Bridge-EP) 22nm mới và bạn chọn 96GB RAM mà không có tùy chọn độ tin cậy bộ nhớ nào khác, bạn sẽ nhận được ba bộ nhớ được đề xuất Tùy chọn cấu hình. Tùy chọn Hiệu suất tối đa đề xuất mười hai, 8GB 1866MHz 1R x4 RDIMM, với Khe 0 trên Kênh 1-4 được điền và Vị trí 1 trên Kênh 1-2 được điền cho mỗi bộ xử lý. Điều này mang lại cho bạn tốc độ bộ nhớ hệ thống là 1866MHz, đây là tốc độ tối đa được hỗ trợ bởi loạt bộ vi xử lý Intel Xeon E5-2600 v2 mới.

Nhân tiện, nếu bạn đang sử dụng SQL Server 2012 Standard Edition, bộ xử lý chính xác mà bạn muốn trên Dell R720 là Intel Xeon E5-2667 v2, có tám lõi vật lý với tốc độ xung nhịp cơ bản là 3,3 GHz. Có mô hình số lõi cao hơn sẽ gặp phải giới hạn giấy phép lõi 16 vật lý cho SQL Server 2012 Standard Edition.

Tùy chọn cấu hình cân bằng đề xuất mười hai, 8GB 1600MHz 1R x4 RDIMM, với Khe 0 trên Kênh 1-4 được phổ biến và Vị trí 1 trên Kênh 1-2 được điền cho mỗi bộ xử lý. Điều này mang lại cho bạn tốc độ bộ nhớ hệ thống là 1600MHz, tốc độ này sẽ sử dụng ít năng lượng điện hơn một chút so với tùy chọn Hiệu suất tối đa.

Tùy chọn cấu hình danh nghĩa đề xuất 24 RDIMM 4GB 1333MHz 1R x8 với tất cả các Khe cắm trên tất cả các kênh được điền cho mỗi bộ xử lý. Điều này mang lại cho bạn tốc độ bộ nhớ hệ thống là 1333MHz, với tất cả các khe cắm của bạn được trang bị các RDIMM 4GB khá nhỏ. Đây là sự lựa chọn ít hơn tối ưu được thiết kế để tiết kiệm một số tiền cho chi phí bộ nhớ bằng cách sử dụng các DIMM dung lượng nhỏ hơn, tốc độ thấp hơn. Thật không may, có rất ít khoản tiết kiệm thực tế ở đây, với chi phí phải bỏ ra một lượng lớn hiệu suất bộ nhớ và không có bất kỳ khe cắm bộ nhớ trống nào.

Với bộ vi xử lý dòng Intel Xeon E5-2600 và E5-2600 v2, bạn sẽ nhận được băng thông bộ nhớ cao nhất có thể nếu bạn chỉ điền một hoặc hai khe cho mỗi kênh bộ nhớ. Việc lấp đầy khe cắm bộ nhớ thứ ba gây ra giảm tốc độ bộ nhớ hệ thống. Dung lượng bộ nhớ cao nhất mà bạn có thể sử dụng ở tốc độ bộ nhớ hệ thống tối đa bằng cách sử dụng RDIMM 16GB tiết kiệm là 256GB, sẽ là 16, 16GB RDIMM, tập hợp tất cả các khe trên Kênh 1 và 2. Không có lợi ích nào về tốc độ bộ nhớ hệ thống khi có ít hơn 256GB RAM trong máy chủ hai ổ cắm với hai bộ xử lý dòng Xeon E5-2600 hoặc E5-2600 v2.

Mặc dù tốt hơn là cố gắng đưa ra cấu hình bộ nhớ mang lại tốc độ bộ nhớ hệ thống cao nhất có thể cho một lượng RAM nhất định, nhưng theo kinh nghiệm của tôi (và trong hầu hết các điểm chuẩn ứng dụng thực tế mà tôi đã thấy), sự khác biệt về hiệu suất trong thế giới thực giữa các tốc độ bộ nhớ hệ thống khác nhau nhỏ hơn nhiều so với bạn có thể mong đợi, khá thường xuyên trong phạm vi 5-10% hoặc ít hơn. Đối với việc sử dụng SQL Server Enterprise Edition, tôi muốn có đủ RAM để phù hợp với toàn bộ khối lượng công việc của mình trong vùng đệm hơn là chọn một lượng RAM thấp hơn để có được tốc độ bộ nhớ cao nhất có thể với chi phí phải kéo dữ liệu từ hệ thống con lưu trữ hơn thường. Ngay cả RAM “chậm” cũng có độ trễ ít hơn bất kỳ loại hệ thống con lưu trữ nào, bao gồm cả lưu trữ dựa trên flash.

Nếu khối lượng công việc của tôi không vừa với 256GB RAM, tôi thà bổ sung thêm RAM và xử lý tốc độ bộ nhớ hệ thống hơn là thường xuyên phải truy cập vào hệ thống con lưu trữ chậm hơn nhiều. Vì vậy, để tóm tắt lại, tôi nghĩ vị trí bộ nhớ dành cho SQL Server 2012 Standard Edition cho loại máy chủ này là 96GB, tăng lên 256GB cho SQL Server 2012 Enterprise Edition (trừ khi khối lượng công việc của bạn lớn hơn 256GB).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Aqua Data Studio

  2. Cách tìm và che PII trong Elasticsearch

  3. Làm thế nào để thêm chú thích trong SQL?

  4. Vấn đề Halloween - Phần 4

  5. Cách đổi tên cột trong SQL