Giới thiệu về các phương pháp thực hành tốt nhất cho SQL Server

Cấu hình cơ bản

Lưu ý : Dell Technologies đã công bố ra mắt các mẫu PowerStore mới vào tháng 7 năm 2022. Các mẫu PowerStore mới cung cấp hiệu suất cao hơn, nhiều tính năng hơn và dung lượng hơn so với các mảng lưu trữ trước đó. Trong bài viết này, chúng tôi đã tối ưu hóa hiệu suất cơ sở dữ liệu SQL Server trên PowerStore 5000T. Tất cả các đề xuất và phương pháp hay nhất trong bài viết này cũng áp dụng cho mảng PowerStore mới.

Mục tiêu của chương trình thực hành tốt nhất của Microsoft SQL Server là cải thiện kết quả của khách hàng bằng cách sử dụng cơ sở hạ tầng của Dell Technologies. Khách hàng có thể gặp khó khăn trong việc xác định cách thiết kế tối ưu cơ sở dữ liệu SQL Server vì việc nghiên cứu có thể tốn nhiều thời gian và khó hiểu. Mục tiêu của chương trình thực hành tốt nhất về SQL Server này là tập trung và xác thực các đề xuất nhằm giúp khách hàng chạy thành công các phiên bản SQL Server trên cơ sở hạ tầng của chúng tôi. 

Tiếp cận

Khi bắt đầu chương trình, chúng tôi đã thu thập các đề xuất từ ​​nhiều nguồn và phân loại các nguyên tắc thành các lớp khác nhau của cơ sở hạ tầng cơ sở dữ liệu. Ví dụ: để có cấu hình PowerEdge tối ưu cho các cuộc kiểm tra cơ sở dữ liệu, nhóm đã lấy các phương pháp thực hành tốt nhất từ ​​các hướng dẫn sử dụng hiện tại và tổ chức các cuộc họp với các chuyên gia PowerEdge để xem xét các phát hiện. Điều này có nghĩa là chúng tôi đã tích cực làm việc với các chuyên gia và kỹ sư chịu trách nhiệm về từng phần của cơ sở hạ tầng SQL Server. Danh sách sau đây mô tả từng lớp cơ sở hạ tầng được xác thực cho các biện pháp thực hành tốt nhất, theo thứ tự được kiểm tra:

  1. Cấu hình lưu trữ tối ưu
  2. Cấu hình CPU tối ưu
  3. Cấu hình cơ sở dữ liệu và Linux tối ưu
  4. Cấu hình mạng tối ưu (tùy chọn)

Công cụ tính điểm chuẩn

Nhóm kỹ thuật đã tiến hành kiểm tra tải nội bộ để xác định cấu hình khối lượng công việc trước khi bắt đầu kiểm tra xác nhận. HammerDB được sử dụng để tạo Khối lượng công việc xử lý giao dịch trực tuyến (OLTP) mô phỏng nhiều ứng dụng doanh nghiệp phổ biến. Mục tiêu của việc tạo ra tải trọng đáng kể trên cơ sở hạ tầng SQL Server là để đảm bảo rằng hệ thống được đánh thuế đủ để chứng minh rằng các phương pháp hay nhất đã tối ưu hóa hiệu suất. Trong trường hợp này, mục tiêu ban đầu là sáu máy ảo, mỗi máy có 10 lõi xử lý. Cấu hình khối lượng công việc HammerDB được mô tả trong Bảng 1. 

Bảng 1: Cấu hình khối lượng công việc HammerDB

Tên cài đặt Giá trị
Tổng số giao dịch trên mỗi người dùng 1.000.000
Số lượng kho 5.000
Số lượng người dùng ảo 80
Phút tăng tốc thời gian 10
Phút của thời gian thử nghiệm 50
Sử dụng tất cả các kho Đúng
Độ trễ của người dùng (mili giây) 500
Độ trễ lặp lại (mili giây) 500
Lặp lại 1

 

Với cấu hình HammerDB này, mỗi biện pháp thực hành tốt nhất đều được xác thực trong bài kiểm tra khối lượng công việc kéo dài một giờ: thời gian tăng tốc 10 phút cộng với 50 phút cho thời lượng kiểm tra. Chúng tôi chọn chạy khối lượng công việc trong một giờ để đảm bảo hệ thống cơ sở dữ liệu đạt trạng thái hiệu suất nhất quán. Việc đạt đến trạng thái chạy nhất quán sẽ xác định xem cấu hình có ổn định hay không và phương pháp hay nhất sẽ chứng minh được giá trị theo thời gian. 

Tham số HammerDB Sử dụng tất cả các kho cho phép tăng I/O cho khu vực cơ sở dữ liệu bằng cách chỉ định tất cả các kho cho người dùng ảo. Kết quả của việc buộc phải sử dụng tất cả các kho có nghĩa là khối lượng công việc sẽ tạo ra nhiều I/O hơn trên hệ thống con lưu trữ. Nhóm phương pháp hay nhất đầu tiên so sánh hiệu suất cơ sở dữ liệu cơ sở không có cấu hình lưu trữ tối ưu với cấu hình cơ sở dữ liệu có cấu hình lưu trữ tối ưu. 

Các chỉ số Đơn hàng mới mỗi phút (NOPM) và Giao dịch mỗi phút (TPM) giúp chúng tôi diễn giải kết quả của mình. Các số liệu này lấy từ điểm chuẩn TPC-C và cho biết kết quả của bài kiểm tra. Trong quá trình xác thực các phương pháp hay nhất, chúng tôi đã so sánh các chỉ số này với đường cơ sở để đảm bảo rằng hiệu suất sẽ tăng lên.

Phương pháp thử nghiệm

Nhóm đã tuần tự thử nghiệm một phương pháp hay nhất hoặc một tập hợp các phương pháp thực hành trong suốt chương trình. Ví dụ: với cấu hình lưu trữ, nhóm đã thử nghiệm với nhiều ổ đĩa bằng tính năng Nhóm ổ đĩa PowerStore.

Mục đích của danh mục phương pháp hay nhất về cấu hình lưu trữ là tối ưu hóa cơ sở dữ liệu SQL Server bằng cách sử dụng các nhóm ổ đĩa PowerStore. Mục đích là để cho thấy nhiều tập có thể cải thiện hiệu suất cơ sở dữ liệu SQL Server như thế nào. Với mỗi phương pháp thực hành tốt nhất bổ sung, lý thuyết hoạt động là chúng tôi sẽ quan sát thấy hiệu suất tăng lên. Ví dụ: thử nghiệm cuối cùng trong việc thay đổi cơ sở dữ liệu SQL Server sẽ đạt được hiệu suất SQL Server tối ưu tổng thể. Dựa trên các phương pháp thực hành tốt nhất trước đó cho thấy rằng khi các phương pháp thực hành tốt nhất được triển khai cùng nhau, hiệu suất cơ sở dữ liệu tổng thể sẽ được tối ưu hóa. 

Thực hành tốt nhất 

Để nâng cao giá trị của các phương pháp hay nhất, chúng tôi đã xác định những thay đổi cấu hình nào mang lại kết quả tốt nhất. Hệ thống này sẽ cho phép mọi người xem xét các phương pháp hay nhất để dễ dàng xác định đề xuất nào sẽ có giá trị nhất. Các phương pháp hay nhất được phân loại như sau:

  • Ngày 1 đến ngày 3: Hầu hết các doanh nghiệp thực hiện thay đổi cấu hình dựa trên chu kỳ phân phối. 
    1. Ngày 1 : Cho biết các thay đổi về cấu hình là một phần của việc cung cấp cơ sở dữ liệu. Doanh nghiệp đã xác định những phương pháp hay nhất này là một phần thiết yếu trong việc cung cấp cơ sở dữ liệu.
    2. Ngày 2 : Cho biết các thay đổi về cấu hình được áp dụng sau khi cơ sở dữ liệu được giao cho khách hàng. Những phương pháp hay nhất này giải quyết các bước tối ưu hóa để cải thiện hơn nữa hiệu suất hệ thống. 
    3. Ngày 3 : Cho biết các thay đổi về cấu hình mang lại những cải tiến nhỏ tăng dần về hiệu suất cơ sở dữ liệu. 
  • Đề xuất cao, vừa phải và tinh chỉnh: Khách hàng muốn hiểu tác động của các phương pháp hay nhất và các thuật ngữ này được sử dụng để chỉ ra giá trị của từng phương pháp hay nhất. 
    1. Rất khuyến khích : Cho biết các phương pháp hay nhất mang lại hiệu suất cao nhất trong các thử nghiệm của chúng tôi. 
    2. Được đề xuất vừa phải : Cho biết các phương pháp hay nhất mang lại những cải thiện hiệu suất khiêm tốn nhưng không đáng kể bằng các phương pháp hay nhất được đề xuất cao. 
    3. Tinh chỉnh : Cho biết các phương pháp hay nhất mang lại những cải tiến nhỏ tăng dần về hiệu suất cơ sở dữ liệu.  

Khi xem xét các phương pháp hay nhất, ngày và giá trị của các đề xuất sẽ được kết hợp. Dưới đây là một số ví dụ:

  • Ngày 1, rất được khuyến khích : Cho biết các biện pháp thực hành tốt nhất này phải là một phần của việc cung cấp cơ sở dữ liệu SQL Server vì chúng mang lại hiệu suất cao nhất. 
  • Ngày 2, được đề xuất vừa phải : Cho biết những phương pháp thực hành tốt nhất này nên được coi là một phần của các hoạt động sau giao hàng mang lại mức tăng hiệu suất khiêm tốn. 
  • Ngày 3, tinh chỉnh : Cho biết những phương pháp hay nhất này cần được xem xét khi cần những cải tiến nhỏ tăng dần để điều chỉnh thêm hệ thống. 

Mục tiêu của hệ thống xếp hạng này là giúp khách hàng nhanh chóng quyết định những đề xuất nào sẽ mang lại giá trị tốt nhất. Ví dụ: hai hoặc ba phương pháp hay nhất từ ​​phần tối ưu hóa CPU có thể mang lại hầu hết giá trị cho khách hàng tùy thuộc vào mục tiêu của họ. Đầu tư thời gian để thực hiện những phương pháp hay nhất này sẽ mang lại lợi nhuận lớn nhất. Cách tiếp cận này có thể được thực hiện cho từng lớp của hệ thống cơ sở dữ liệu cho đến khi hoàn thành tất cả Ngày 1, các phương pháp thực hành tốt nhất được khuyến nghị cao. Phương pháp này làm cho các phương pháp hay nhất trở nên độc đáo và cung cấp cách để khách hàng có được lợi tức đầu tư tốt nhất. 

Các phương pháp thực hành tốt nhất là các đề xuất rộng rãi áp dụng cho hầu hết các môi trường SQL Server sử dụng cơ sở hạ tầng của Dell, nhưng điều quan trọng là phải nhận ra rằng mọi khối lượng công việc và môi trường của ứng dụng cơ sở dữ liệu đều khác nhau, nghĩa là giá trị của các phương pháp thực hành tốt nhất này sẽ khác nhau tùy theo hệ thống. Giống như bất kỳ cấu hình hoặc thay đổi nào đối với hệ thống cơ sở dữ liệu, cách tiếp cận tốt nhất là xác thực thay đổi trước khi triển khai biện pháp thực hành tốt nhất trên hệ thống sản xuất. Vì vậy, chúng tôi khuyên bạn nên thử nghiệm tất cả các phương pháp hay nhất trước khi triển khai các thay đổi trong quá trình sản xuất. 

Kiến trúc vật lý

Máy chủ

Kiến trúc được thiết kế để đại diện rộng rãi cho cơ sở hạ tầng mà khách hàng sử dụng cho cơ sở dữ liệu SQL Server của họ. Máy chủ Dell PowerEdge R750xs được sử dụng cho lớp điện toán. Mỗi PowerEdge R750x được cấu hình theo cùng một cách để đảm bảo tính nhất quán. Hai bộ xử lý Intel Xeon Gold 6338 với 32 lõi vật lý mỗi lõi, tổng cộng 64 lõi, đã được sử dụng. Cấu hình máy chủ mặc định cho phép bộ xử lý logic, nghĩa là 128 lõi có sẵn ở cấp độ ảo hóa. Bảng sau hiển thị cấu hình chi tiết:

Bảng 2: Chi tiết cấu hình PowerEdge R750xs

Bộ xử lý
  • 2 x CPU Intel® Xeon® Gold 6338 32C @ 2,00 GHz

 

Ký ức
  • Bộ nhớ 16 x 64 GB 3200MT/s, tổng cộng 1 TB
Bộ điều hợp mạng
  • NIC nhúng: 1 x Broadcom BCM5720 1GbE DP Ethernet (mgmt.)
  • Tích hợp NIC1: 1 x Broadcom Adv. Cổng kép Ethernet 25Gb
  • Khe cắm NIC 5: 1 x Bộ chuyển đổi cổng kép Mellanox ConnectX-5 EN 25 GbE
HBA
  • 2 x Kênh cáp quang cổng kép Emulex LPe35002 32Gbps

 Để tìm hiểu thêm về máy chủ, hãy xem trang PowerEdge R750xs  và tải xuống bảng thông số kỹ thuật .

Chuyển mạch kênh sợi quang

Chúng tôi đã sử dụng bộ chuyển mạch Dell Connectrix để kết nối các máy chủ với mảng lưu trữ PowerStore. Connectrix DS-6620B được thiết kế để hỗ trợ triển khai cơ sở dữ liệu quy mô vừa và lớn. Cấu hình Connectrix được sử dụng trong các thử nghiệm của chúng tôi bao gồm 8 cổng 32Gbps đang hoạt động để tối ưu hóa kết nối với bộ lưu trữ PowerStore.

Mảng lưu trữ

Mảng lưu trữ PowerStore được hỗ trợ trên nền tảng đám mây và cung cấp các dịch vụ dữ liệu dành cho doanh nghiệp như ảnh chụp nhanh, sao chép và nhiều tính năng khác trong một diện tích nhỏ. Ra khỏi hộp, mảng lưu trữ PowerStore được tinh chỉnh cao và không cần điều chỉnh thủ công nhiều. Trong cấu hình PowerStore 5000T được sử dụng, có 21 ổ NVMe, mỗi ổ có dung lượng 1,92 TB. 

Chi tiết đầy đủ về cấu hình PowerStore 5000T được mô tả trong bảng sau:

Bảng 3: Cấu hình PowerStore 5000T

Bộ xử lý
  • 2 x CPU Intel® Xeon® Gold 6130 @ 2,10GHz mỗi nút

 

Kích thước bộ nhớ cache
  • 4 x 8,5GB NVMe NVRAM
Ổ đĩa
  • SSD NVMe 21 x 1,92 TB
Tổng công suất sử dụng
  • 28,3 TB
Mô-đun I/O mặt trước
  • 2 x FC 4 cổng 32Gb 

 Nhiều hệ thống cơ sở dữ liệu sản xuất sử dụng cơ sở hạ tầng chuyên dụng. Để xác thực các biện pháp thực hành tốt nhất của SQL Server, tất cả cơ sở hạ tầng của Dell đều được dành riêng cho cơ sở dữ liệu. Không có khối lượng công việc song song nào đang chạy và cạnh tranh về tài nguyên CPU, mạng và bộ lưu trữ. Việc xác thực các phương pháp hay nhất trong môi trường chuyên dụng đã giúp loại bỏ các biến số có thể ảnh hưởng đến kết quả kiểm tra. Chúng tôi hiểu rằng nhiều môi trường đã được hợp nhất và có thể nảy sinh những thách thức trong việc điều chỉnh một hệ thống cơ sở dữ liệu trên cơ sở hạ tầng dùng chung.

Việc triển khai các phương pháp hay nhất có thể cải thiện hiệu suất trong các hệ thống hợp nhất, nhưng lợi ích tích cực có thể không đáng kể do nguồn lực được chia sẻ. Việc sử dụng các phương pháp hay nhất này có thể giảm thiểu một số thách thức bằng cách tích hợp Ngày 1, các phương pháp cấu hình được khuyến nghị cao như một phần của việc cung cấp cơ sở dữ liệu SQL Server. Khi hệ sinh thái cơ sở dữ liệu được chuyển đổi bằng cách sử dụng các biện pháp thực hành tốt nhất, hiệu suất tổng thể của hệ thống có thể tăng lên và các hệ thống hợp nhất có thể hoạt động hiệu quả hơn. Các phương pháp thực hành tốt nhất cung cấp cho doanh nghiệp khả năng triển khai cơ sở dữ liệu với thiết kế và hệ sinh thái tối ưu với khả năng thúc đẩy hiệu quả được cải thiện.