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

Lựa chọn bộ xử lý thực tế cho khối lượng công việc OLTP SQL Server 2014/2016

Có thể không phải CPU bạn đang tìm.

Hãy tưởng tượng rằng bạn vừa nhận được sự chấp thuận của ban quản lý cho một máy chủ cơ sở dữ liệu mới tại chỗ sẽ chạy một khối lượng công việc OLTP quan trọng của sứ mệnh với SQL Server 2014 Enterprise Edition chạy trên Windows Server 2012 R2 Standard Edition. Máy chủ mới này sẽ thay thế máy chủ Dell PowerEdge R910 cũ đang chạy SQL Server 2008 R2 Enterprise Edition trên Windows Server 2008 R2 Enterprise Edition. Máy chủ hiện tại này có bốn bộ vi xử lý Intel Xeon X7560 Nehalem-EX, 45nm (cung cấp cho bạn tổng số 32 ”lõi vật lý trong hệ thống) và có 512GB RAM, đây là một thiết lập cao cấp khi nó được mua vào năm 2010.

Đối với ví dụ này, bạn có ngân sách cấp phép phần cứng và phần mềm hơi hạn chế cho việc nâng cấp nền tảng. Bạn muốn chuyển sang SQL Server 2014 Enterprise Edition, trên một máy chủ mới có hiệu suất CPU đơn luồng tốt hơn nhiều (vì bạn có khối lượng công việc OLTP) và dung lượng CPU tổng thể cao hơn, trong khi vẫn giảm thiểu chi phí giấy phép phần cứng và SQL Server của bạn.

Với thông tin này, bạn sẽ quyết định chọn mô hình máy chủ nào và chọn bộ xử lý chính xác nào? Bạn có để cho ai đó trong I.T. bộ phận đưa ra những quyết định này hay bạn sẽ tham gia vào quá trình đánh giá và ra quyết định? Thay vì để "Shon the server guy" quyết định, tôi muốn chỉ cho bạn một phương pháp dễ dàng, thiết thực để tìm ra điều này, sử dụng điểm chuẩn TPC-E, một số phép tính đơn giản và một số cách hiểu thông thường.

Bước đầu tiên là kiểm tra điểm kết quả điểm chuẩn TPC-E trực tuyến, tìm kiếm hệ thống tương đương gần nhất với hệ thống hiện có của bạn. Nếu may mắn, bạn sẽ tìm thấy bản gửi điểm chuẩn chính thức khớp chính xác với hệ thống của bạn. Trong trường hợp của chúng tôi, tôi nhận thấy một bản gửi từ ngày 10 tháng 4 năm 2010 tình cờ khớp chính xác với hệ thống cũ của chúng tôi. Hệ thống Dell PowerEdge R910 này có điểm Thông lượng TPC-E thực tế là 1.933,96, với bốn bộ vi xử lý Intel Xeon X7560 tám lõi. Điểm Thông lượng TPC-E thực tế là một phép đo tốt về dung lượng CPU tổng thể của hệ thống, cho bạn dấu hiệu sơ bộ về số lượng truy vấn đồng thời mà nó có thể xử lý (giả sử bạn không có bộ nhớ hoặc tắc nghẽn liên quan đến bộ nhớ).

Bước thứ hai là lấy điểm Thông lượng TPC-E thực tế cho hệ thống này và chia nó cho số lõi bộ xử lý vật lý trong hệ thống, để có được ý tưởng về hiệu suất bộ xử lý đơn luồng cho bộ xử lý cụ thể trong hệ thống được điểm chuẩn . Đối với hệ thống này, chúng tôi chỉ cần chia 1.933,96 cho 32 lõi vật lý, để đưa ra "điểm trên mỗi lõi" là 60,44. Intel Xeon X7560 có tốc độ xung nhịp cơ bản là 2,26 GHz, với tốc độ xung nhịp Turbo là 2,66 GHz. Nó có bộ nhớ đệm L3 dùng chung 24MB và tốc độ 6,4 GT / s Intel QPI. Quick Path Interconnect (QPI) là kết nối điểm-điểm giữa CPU và bộ điều khiển bộ nhớ tích hợp, do đó, có tốc độ QPI cao hơn đồng nghĩa với việc truy cập bộ nhớ nhanh hơn.

Bước thứ ba là tìm kiếm kết quả điểm chuẩn TPC-E cho các hệ thống và bộ xử lý thế hệ hiện tại, cố gắng tìm kết quả cho một hệ thống gần tương đương với loại hệ thống mới mà bạn đang xem xét. Thật không may, điều này đôi khi sẽ khó khăn vì các nhà cung cấp máy chủ đã không gửi nhiều hệ thống mới như trước đây và bởi vì họ luôn gửi các hệ thống sử dụng bộ xử lý "hàng đầu", có số lượng lõi cao nhất cho một thế hệ và dòng vi xử lý nhất định. Điều này làm cho điểm Thông lượng TPC-E thực tế cao hơn, nhưng cũng làm cho hệ thống sử dụng bộ xử lý đó đắt hơn nhiều để cấp phép cho SQL Server vì số lượng lõi cao hơn. Một vấn đề khác với các mẫu vi xử lý "hàng đầu" này là chúng thường đánh đổi số lượng lõi vật lý cao hơn để lấy tốc độ xung nhịp cơ bản thấp hơn, vì vậy bạn sẽ phải trả chi phí cấp phép cao hơn nhiều và thực sự nhận được hiệu suất CPU đơn luồng thấp hơn.

Sự khôn ngoan thông thường là bạn muốn có một máy chủ bốn ổ cắm mới để thay thế máy chủ bốn ổ cắm hiện tại của bạn. Với các máy chủ hai ổ cắm hiện đại, điều đó có thể không cần thiết nữa, tùy thuộc vào mức độ khối lượng công việc của bạn. Có một giai đoạn, từ đầu năm 2012 đến đầu năm 2014, khi bộ vi xử lý máy chủ gia đình Xeon E5 hai ổ cắm mới cho hiệu suất đơn luồng nhanh hơn nhiều so với bộ vi xử lý máy chủ gia đình Xeon E7 bốn ổ cắm mới. Khoảng cách hiệu suất này đã thu hẹp lại khá nhiều khi dòng Xeon E7 v2 Ivy Bridge-EX được phát hành vào đầu năm 2014. Kể từ đó, dòng E5 và E7 thậm chí còn gần nhau hơn vì cả hai đều sử dụng vi kiến ​​trúc Haswell.

Với sự tương đương về hiệu suất CPU gần như vậy, lựa chọn mô hình máy chủ của bạn phụ thuộc vào dung lượng bộ nhớ, CPU và IO tổng thể. Các máy chủ hai ổ cắm hiện tại thực tế bị giới hạn ở mức RAM 768 GB với DIMM 32 GB, trong khi các máy chủ bốn ổ cắm hiện tại có thể có RAM 3TB với DIMM 32 GB. Hầu hết khách hàng mà tôi gặp có thể thoải mái chạy khối lượng công việc của họ trên 768GB RAM, nhưng một số ít thực sự cần nhiều hơn thế. Cả hai máy chủ hai ổ cắm và bốn ổ cắm đều có thể sử dụng bộ vi xử lý Haswell với 18 lõi vật lý mỗi loại, vì vậy bạn có giới hạn 36 hoặc 72 lõi vật lý trong hệ thống của mình, tùy thuộc vào số lượng ổ cắm của bạn.

Đối với bài tập này, có kết quả điểm chuẩn TPC-E cho hệ thống Fujitsu Primergy RX2540 M1 hai ổ cắm với điểm Thông lượng TPC-E thực tế là 3.772,08, sử dụng hai bộ xử lý Intel Xeon E5-2699 v3 mười tám lõi Haswell-EP và 512GB RAM. Bộ vi xử lý Xeon E5-2699 v3 có tốc độ xung nhịp cơ bản là 2,3 GHz, với tốc độ xung nhịp Turbo là 3,6 GHz. Nó có bộ nhớ đệm L3 chia sẻ 45MB và tốc độ 9,6 GT / s Intel QPI. Đối với hệ thống này, chúng tôi sẽ chia số điểm thực tế là 3.772,08 cho 36 lõi vật lý, để đưa ra "điểm trên mỗi lõi" là 104,78.

Hệ thống hai ổ cắm mới này sẽ có gần gấp đôi dung lượng CPU tổng thể của hệ thống cũ, với khoảng 1,57 lần hiệu suất luồng đơn. Từ góc độ dung lượng CPU và hiệu năng đơn luồng, tôi khá tự tin rằng hệ thống hai ổ cắm mới này sẽ là một sự thay thế tốt cho hệ thống cũ. Hệ thống mới này cũng sẽ có các khe cắm mở rộng PCIe 3.0, vì vậy nó sẽ có tổng dung lượng IO nhiều hơn hệ thống cũ. Thật không may, nó có 36 lõi vật lý sẽ yêu cầu giấy phép SQL Server 2014 Enterprise Edition, điều này sẽ khá đắt.

Sự lựa chọn bộ xử lý tốt hơn có thể là Intel Xeon E5-2667 v3, có tám lõi vật lý, với tốc độ xung nhịp cơ bản là 3,2 GHz, tốc độ xung nhịp Turbo là 3,6 GHz, bộ nhớ đệm L3 dùng chung 20MB và Intel 9,6 GT / s. Tốc độ QPI. Sử dụng một số phép tính đơn giản, chúng tôi có thể điều chỉnh sự khác biệt giữa Xeon E5-2699 v3 và Xeon E5-2667 v3, (vì cả hai đều thuộc cùng một thế hệ và dòng vi xử lý).

Đầu tiên, tôi điều chỉnh sự khác biệt về số lượng lõi vật lý. Nếu bạn chia 8 cho 18 thì được kết quả là 0,44, vậy bạn nhân 3,772,08 nhân với 0,44 ta được kết quả là 1.676,48. Tiếp theo, chúng ta phải điều chỉnh sự khác biệt về tốc độ xung nhịp cơ bản giữa hai bộ vi xử lý này. E5-2667 v3 có tốc độ xung nhịp cơ bản cao hơn 39% so với bộ xử lý E5-2699 v3, vì vậy chúng tôi sẽ nhân 1.676,48 nhân với 1,39 để có được giá trị cuối cùng ước tính Điểm TPC-E là 2330,31. Nếu chúng tôi chia số điểm ước tính này cho 16 lõi vật lý, chúng tôi nhận được kết quả "điểm trên mỗi lõi" là 145,64.

Vì vậy, theo tính toán này, chúng tôi sẽ vẫn có dung lượng CPU tổng thể hơn hệ thống cũ và hiệu suất CPU đơn luồng tốt hơn nhiều bằng cách sử dụng số lõi thấp hơn, bộ xử lý Xeon E5-2667 v3 "tối ưu hóa tần số" trong hai ổ cắm mới hệ thống. Phần thưởng cuối cùng từ sự lựa chọn bộ xử lý này là chi phí cấp phép cho SQL Server 2014 thấp hơn nhiều, vì chúng tôi sẽ chỉ cần 16 giấy phép lõi thay vì 36 giấy phép lõi, tiết kiệm được khoảng $ 136,000.00.

Hy vọng rằng sẽ rõ ràng hơn một chút về cách bạn có thể thực hiện một số phân tích đơn giản để giúp bạn quyết định chính xác bộ xử lý mà bạn nên chọn cho một máy chủ cơ sở dữ liệu mới, với những hạn chế về khối lượng công việc và ngân sách của bạn. Phân tích này phức tạp hơn một chút khi bạn phải so sánh các bộ xử lý từ các thế hệ và gia đình khác nhau, nhưng có thể sử dụng các nguyên tắc cơ bản giống nhau. Tôi sẽ đi sâu hơn về chủ đề này trong một bài viết trong tương lai.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết hợp PowerShell và Trình quản lý chẩn đoán SQL để tự động giám sát SQL Server

  2. Cách thực hiện liên kết bên trong trên số hàng trong máy chủ sql

  3. Thay đổi ngôn ngữ cho phiên hiện tại trong SQL Server

  4. Trả lại Tên máy trạm hiện tại được kết nối với SQL Server (T-SQL)

  5. SQL Server 2016:Cải tiến OLTP trong bộ nhớ