Hiện đại hóa nền tảng máy chủ Microsoft SQL của bạn và tăng tốc triển khai (3)

Thực tiễn tốt nhất : Ảo hoá VMware vSphere

Kích hoạt chính sách quyền lực ESXi

Chính sách nguồn ESXi cho phép quản trị viên VMware vSphere gán cấu hình nguồn cho cơ sở dữ liệu ảo hóa. Cài đặt chính sách năng lượng hiệu suất cao đã được chọn. Có bốn Chính sách quản lý nguồn CPU mà bạn có thể chọn cho máy ảo:

  • Hiệu suất cao : tối đa hóa hiệu suất và vô hiệu hóa các tính năng quản lý năng lượng.
  • Cân bằng (Mặc định): sử dụng các tính năng quản lý năng lượng sẽ ảnh hưởng tối thiểu đến hiệu suất.
  • Công suất thấp hơn: nhấn mạnh các tính năng quản lý năng lượng để giảm thiểu mức tiêu thụ năng lượng so với hiệu suất.
  • Tùy chỉnh: chính sách quản lý năng lượng do người dùng xác định.

Nhiều cơ sở dữ liệu hỗ trợ các chức năng kinh doanh quan trọng trong đó hiệu suất là ưu tiên hàng đầu của doanh nghiệp. Chính sách quản lý năng lượng CPU đã được thay đổi từ mặc định cân bằng sang hiệu suất cao để đảm bảo hiệu suất tốt nhất.

VMware ESXi: Chính sách đường dẫn vòng tròn

Chính sách đường dẫn Round Robin xác định cách cân bằng tải I/O trên các đường dẫn lưu trữ đang hoạt động. Chúng tôi đã thay đổi chính sách đường dẫn Round Robin để tối ưu hóa hiệu suất. Ở lớp ảo hóa, ESXi kiểm soát luồng dữ liệu đến và đi từ máy chủ. Có một số lựa chọn cấu hình, bao gồm Được sử dụng gần đây nhất (MRU), Cố định và Round Robin.

Round Robin tự động xoay qua tất cả các đường dẫn có sẵn để phân phối luồng dữ liệu. PowerMax có tất cả các đường dẫn đang hoạt động để lưu trữ, do đó Round Robin sẽ xoay dữ liệu trên các đường dẫn đó. Theo mặc định, Round Robin gửi 1.000 thao tác I/O trên một đường dẫn trước khi sử dụng đường dẫn tiếp theo. Chúng tôi đã thay đổi mặc định từ 1.000 thành 1. Với giới hạn IOPS Round Robin là 1, đường dẫn đến bộ lưu trữ được luân chuyển thường xuyên hơn và mang lại tác động tích cực đến hiệu suất lưu trữ.

Linux doanh nghiệp Red Hat

Dell Technologies và Red Hat đã là đối tác trong hơn 25 năm. Thông qua quan hệ đối tác, các công ty đã cùng nhau thiết kế và xác nhận các giải pháp nguồn mở. Một số chương trình chung bao gồm:

  • Bộ chứa – Dell Ready Stack cho Red Hat OpenShift ®
  • Lưu trữ được xác định bằng phần mềm
  • Chuyển đổi mạng

Lưu ý : Đối với thiết kế đã được xác thực này, Red Hat Enterprise Linux phiên bản 8.5 là hệ điều hành.

Cơ sở dữ liệu máy chủ SQL

SQL Server là nền tảng của Microsoft Data Platform và có khả năng mở rộng khả năng của nó như một nền tảng để hợp nhất dữ liệu.

Năm 2017, Microsoft đã giới thiệu hỗ trợ cho Linux, mang đến cho doanh nghiệp sự linh hoạt trong việc sử dụng hệ điều hành Windows Enterprise Server hoặc Linux. Vào tháng 1 năm 2020, Microsoft đã chứng nhận bản phát hành SQL Server 2019 của mình để sử dụng với Red Hat Enterprise Linux 8 . Sự hợp tác với Microsoft và Red Hat đã mang lại những tiến bộ giúp tăng tốc hiệu suất trên phiên bản 8 của hệ điều hành Linux:

  • Cập nhật các cấu hình được điều chỉnh bằng mssql (được các kỹ sư của Dell sử dụng thường xuyên)
  • Các cải tiến ngăn xếp TCP/IP mới giúp tăng hiệu suất
  • Lập lịch nhiều hàng đợi cho phép bộ lưu trữ tận dụng tốt nhất băng thông có sẵn từ ổ đĩa thể rắn NVMe.
  • Các cải tiến đối với hệ thống tệp XFS cho phép SQL Server tránh xóa bộ nhớ doanh nghiệp có khả năng FUA.

Để biết thêm thông tin, hãy xem blog SQL Server 2019 hiện có sẵn cho Red Hat Enterprise Linux 8 . Dell cung cấp một trong những danh mục cơ sở hạ tầng lớn nhất cho Microsoft SQL Server. Thiết kế đã được xác thực này và các giải pháp cơ sở dữ liệu khác giúp giảm độ phức tạp và cho phép doanh nghiệp của bạn đẩy nhanh quá trình chuyển đổi kỹ thuật số. Tìm hiểu cách chứng minh hành trình hiện đại hóa SQL của bạn trong tương lai bằng cách truy cập trang Nền tảng dữ liệu Microsoft trên trang web Dell Technologies.

Lưu ý : Trong giải pháp Microsoft SQL Server được tối ưu hóa này, phiên bản 2019 CU15 đã được sử dụng để xác thực.

 

Các phương pháp thực hành tốt nhất

Thay đổi kích thước TempDB

Cơ sở dữ liệu hệ thống TempDB phục vụ các đối tượng người dùng tạm thời và các đối tượng bên trong mà công cụ cơ sở dữ liệu tạo ra. Cơ sở dữ liệu hệ thống TempDB là tài nguyên toàn cầu để định cỡ cơ sở dữ liệu và có thể cải thiện hiệu suất. Chúng tôi đã tăng kích thước cơ sở dữ liệu TempDB như một phần của các bài kiểm tra hiệu suất.

Tự động phát triển

Để tự động phát triển, chúng tôi đã sửa đổi các giá trị mặc định cho dữ liệu cơ sở dữ liệu người dùng và tệp nhật ký . Tệp nhật ký và dữ liệu TempDB, tính năng tự động tăng trưởng được đặt thành 1 GB. Điều này tối ưu hóa cách cơ sở dữ liệu thêm không gian và giảm thiểu tác động đến các giao dịch. Các giá trị mặc định của autogrow là:

  • Tệp dữ liệu: 64 MB
  • Tệp TempDB: i-8 MB

Các giao dịch cơ sở dữ liệu kích hoạt quá trình tự động phát triển của không gian nhật ký cùng với các giao dịch khác sử dụng không gian nhật ký phải đợi tệp nhật ký tăng đến mức được định cấu hình. Mỗi cơ sở dữ liệu đều khác nhau và quản trị viên phải xác định giá trị tự động phát triển phù hợp cho cơ sở dữ liệu cụ thể của họ. Để xác thực các phương pháp hay nhất về tự động phát triển, chúng tôi đã triển khai các thay đổi sau đối với cơ sở dữ liệu SQL Server của mình:

  • Tệp dữ liệu được đặt thành FILEGROWTH = 1048576 MB (1 GB)
  • Hệ thống TempDB được đặt thành FILEGROWTH = 1048576 MB (1 GB)

Chủ đề công nhân tối đa

Giá trị mặc định cho các luồng công nhân là 0. Cài đặt bằng 0 sẽ hướng dẫn SQL Server tự động định cấu hình số lượng luồng công việc khi khởi động cơ sở dữ liệu. Trong các thử nghiệm cơ bản của chúng tôi, các luồng công việc tối đa có giá trị mặc định là 544. Giá trị mặc định này đã được sửa đổi thành 704. Đây là giá trị được đề xuất cho cơ sở dữ liệu sử dụng tám CPU và hệ thống 64 bit bắt đầu bằng SQL Server 2016 (13.x) SP2 và SQL Máy chủ 2017 (14.x). Để biết thêm thông tin về các đề xuất của Microsoft, hãy xem Định cấu hình tùy chọn cấu hình máy chủ của luồng công nhân tối đa .

Sau khi thử nghiệm một số cấu hình luồng công nhân tối đa, chúng tôi nhận thấy rằng việc tăng giá trị lên 864 sẽ cải thiện hiệu suất một chút.

Mối quan hệ CPU

Mối quan hệ của CPU là khả năng xác định lõi xử lý nào mà công cụ SQL Server sử dụng để thực hiện đa nhiệm. Bằng cách gán các lõi bộ xử lý, SQL Server chỉ sử dụng các bộ xử lý đó cho các hoạt động cơ sở dữ liệu đa nhiệm. Điều này có thể cải thiện hiệu suất bằng cách giảm tải lại bộ xử lý và di chuyển luồng trên các bộ xử lý.

Máy ảo hỗ trợ SQL Server có 6 vCPU được phân bổ. Vì lý do này, chúng tôi đã triển khai các thay đổi cấu hình sau như một phần của phương pháp hay nhất này:

  • Đã định cấu hình Mối quan hệ của bộ xử lý máy chủ SQL để sử dụng bộ xử lý từ 0 đến 5, cho tổng số sáu bộ xử lý

Bộ nhớ máy chủ tối thiểu và tối đa

Bộ nhớ máy chủ tối thiểu là dung lượng bộ nhớ được phân bổ mà SQL Server dự trữ cho cơ sở dữ liệu. Cài đặt cấp phát bộ nhớ này giúp quản trị viên cơ sở dữ liệu tối ưu hóa hiệu suất. Cần phải phân tích mức sử dụng bộ nhớ từ hệ điều hành và các ứng dụng khác để xác định chính xác cài đặt bộ nhớ máy chủ tối thiểu. Nếu bạn đặt giá trị bộ nhớ máy chủ tối thiểu quá cao, hiệu suất của hệ điều hành có thể bị ảnh hưởng dẫn đến hiệu suất tổng thể thấp hơn.

Trước khi sửa đổi tham số bộ nhớ máy chủ tối thiểu, chúng tôi đã sử dụng cài đặt giá trị mặc định là 0. Giá trị mặc định bằng 0 cho phép SQL Server quản lý động lượng bộ nhớ.

Bộ nhớ máy chủ tối thiểu đã được thay đổi từ giá trị mặc định thành 360.448 MB (352 GB).

Bộ nhớ máy chủ tối đa là dung lượng bộ nhớ tối đa mà SQL Server có thể sử dụng. Việc đặt giá trị máy chủ tối đa sẽ giới hạn dung lượng bộ nhớ mà cơ sở dữ liệu có thể sử dụng. Sự khác biệt giữa giá trị máy chủ tối thiểu và tối đa xác định dung lượng bộ nhớ mà SQL Server có thể sử dụng linh hoạt. Ví dụ: nếu mức tối thiểu được đặt thành 64 GB và tối đa là 128 GB thì Máy chủ SQL có thể sử dụng động 64 GB (64 – 128 = 64). Dell đặc biệt khuyên bạn nên sử dụng hệ điều hành và bộ nhớ ứng dụng khác để đảm bảo rằng cơ sở dữ liệu không ảnh hưởng đến toàn bộ hệ thống.

Bộ nhớ máy chủ tối đa được đặt thành giá trị 360.448 MB (352 GB). Bằng cách đặt giá trị bộ nhớ máy chủ tối đa và tối thiểu thành 352 GB, cơ sở dữ liệu sẽ phân bổ tất cả bộ nhớ và vượt quá cấu hình bộ nhớ 352 GB. Cách thực hành tốt nhất khuyên bạn nên tuân theo quy tắc 80% cho bộ nhớ SQL Server Max, để lại 20% cho hệ điều hành, đây là quy tắc mặc định cho SQL Server chạy trên Linux.