Điều gì sẽ xảy ra nếu bạn gặp khó khăn khi triển khai hoặc nâng cấp lên SQL Server mới để có trải nghiệm tốt hơn cho khách hàng của mình - và họ phàn nàn rằng mọi thứ thực sự còn tồi tệ hơn?
Bạn sẽ không ngạc nhiên nếu bạn đã vượt qua tất cả các vòng kinh doanh và kỹ thuật đó để có được hiệu suất SQL Server tốt hơn, và sau đó thì không?
Có lẽ bạn nên tiến hành một số kiểm tra hiệu suất SQL Server trước khi bắt đầu sản xuất. Sau đó, bạn sẽ biết liệu hiệu suất của mình sẽ được cải thiện, giữ nguyên hay tệ nhất là giảm sút.
Nhưng ít nhất bạn sẽ không ngạc nhiên một cách dễ dàng.
Cầu nối hiệu suất SQL Server mà tất cả chúng ta đều vượt qua
Cho dù đó là chuyển từ một số cơ sở dữ liệu khác sang SQL Server hay nâng cấp từ phiên bản SQL Server cũ hơn lên một phiên bản mới hơn, cuối cùng bạn cũng phải vượt qua cầu hiệu suất.
"Nó có thực sự sẽ chạy tốt hơn trước không?" sếp của bạn đã hỏi.
“Ồ, chắc chắn rồi,” bạn nói. “Với ảo hóa dữ liệu trong SQL Server 2019, chúng tôi có thể chạy các truy vấn mà không cần di chuyển hoặc sao chép dữ liệu. Và có điều chỉnh tự động với Xử lý truy vấn thông minh để mở rộng quy mô truy vấn. Dữ liệu sẽ BAY ra khỏi máy chủ. ” Bạn tự tin đến mức viết hoa “FLY”.
Vậy làm cách nào bạn có thể kiểm tra hiệu suất của mình tốt hơn?
4 cách để kiểm tra hiệu suất. . .
Brent Ozar, SQL Server maven extraordinaire, cho bạn biết cách kiểm tra hiệu suất trên SQL Server mới:
- một cách dễ dàng, so sánh trước và sau trên một bản sao lưu đầy đủ và CHECKDB
- cách dễ dàng nhưng sai lầm, với khối lượng công việc tổng hợp và TPC-C trong HammerDB
- cách khó hơn, thử nghiệm các truy vấn riêng lẻ với sp_BlitzCache, tập lệnh phân tích bộ nhớ cache kế hoạch của anh ấy
- một cách thực sự khó, chạy cùng một truy vấn mà bạn thực hiện trong sản xuất
Nhưng như Brent đã nói rõ, việc theo dõi hiệu suất máy chủ SQL của bạn và nhận thấy rằng nó đã giảm X phần trăm chỉ là bước khởi đầu; bạn vẫn phải tìm hiểu xem lượt truy cập đến từ đâu.
Điều đó có nghĩa là tìm kiếm xu hướng trong dữ liệu hiệu suất trong toàn bộ tuần và tháng, không chỉ trong vài giờ qua.
Bạn càng có nhiều điểm dữ liệu và lịch sử, bạn có thể tổng hợp bức tranh tốt hơn về những gì đang diễn ra bên trong, bên dưới và xung quanh môi trường SQL Server của bạn.
Và bạn có thể sử dụng tất cả dữ liệu đó bằng máy tính càng nhiều thì bạn càng có thể phân tích nó nhanh hơn.
Giám sát hiệu suất SQL Server:Nghe giống như một công việc cho đám mây
Chuẩn rồi. Đó là công việc dành cho đám mây, nơi duy nhất bạn có thể mở rộng quy mô đủ xa để thu thập và phân tích tất cả dữ liệu đó để có bức tranh sâu rộng về cách SQL Server đang tiêu thụ tài nguyên. Và nó đã sử dụng những nguồn tài nguyên đó như thế nào theo thời gian. Ví dụ:
- Vào những thời điểm nhất định trong ngày hoặc tháng, các truy vấn thường chạy phải đọc từ đĩa thay vì từ bộ đệm ẩn, là bản sao trong bộ nhớ của các trang cơ sở dữ liệu được sử dụng gần đây. Bạn có cần phân bổ thêm bộ nhớ cho bộ đệm đệm của mình không? Bạn có thể dành thêm bộ nhớ nào cho nó không?
- Tương tự đối với tuổi thọ của trang. Nếu nó thấp, có thể là do SQL Server loại bỏ các trang khỏi bộ đệm ẩn quá thường xuyên và phải chạy tra cứu từ bộ nhớ thay vì từ bộ nhớ. Điều đó cản trở hiệu suất.
- Thời gian chờ I / O tối đa có quá cao không? Nó đang có xu hướng như thế nào? Đó là dấu hiệu cho thấy thiết bị I / O có thể đã bão hòa.
- Hàng đợi xử lý bây giờ là bao lâu? Nó thường là bao lâu? Quá nhiều luồng liên tục chờ đợi có thể cho thấy sự tắc nghẽn của bộ xử lý.
- CPU có đang chạy so với giới hạn mà máy chủ của bạn có thể xử lý không? Điều gì xảy ra nếu bạn không thể mở rộng máy chủ nữa? Nếu bạn chắc chắn rằng các truy vấn của mình được điều chỉnh tốt và các tài nguyên hệ thống khác của bạn đầy đủ, bạn có thể cần thêm một ổ cắm cho phần cứng vật lý hoặc vCPU vào máy ảo của mình.
- Các chỉ mục bị phân mảnh là các chỉ mục chậm, nhưng bạn không biết chúng là thủ phạm cho đến khi bạn kiểm tra mức độ phân mảnh. Thấy được tác động của việc tổ chức lại và xây dựng lại theo thời gian có thể giúp bạn đưa ra quy trình duy trì chỉ mục đáng tin cậy.
Việc tìm kiếm các vấn đề như vậy trong tất cả các cơ sở dữ liệu tại chỗ và cơ sở dữ liệu đám mây của bạn trở nên dễ dàng hơn và nhanh hơn khi bạn có thể theo dõi hiệu suất máy chủ SQL của mình từ đám mây. Hơn hết, bạn có thể giám sát từ bất kỳ nơi nào trong thiên hà đã biết khi tất cả tính toán, lưu trữ và phân tích đều ở trên đám mây và bạn chỉ cần một vài cú nhấp chuột trong bất kỳ trình duyệt nào.
Bắt đầu kiểm tra hiệu suất Máy chủ SQL của bạn trên đám mây
Tại Quest, không ai cần phải nói với chúng tôi hai lần rằng khách hàng của chúng tôi muốn các công cụ dựa trên đám mây, cho dù là để di chuyển trên đám mây, theo dõi hiệu suất hay Office 365. Chúng tôi đang cung cấp nhiều sản phẩm của mình hơn dưới dạng dịch vụ đám mây vì công nghệ và thị trường đang kéo chúng đến đó.
Vì vậy, làm cách nào để bạn chạy kiểm tra hiệu suất trên Máy chủ SQL mới hoặc đã nâng cấp của mình?
- Tôi chạy CHECKDB.
- Tôi chạy HammerDB.
- Tôi chạy các công cụ của Brent Ozar.
- Tôi kiểm tra với khối lượng công việc sản xuất.
- Tôi tung xúc xắc và đợi cho đến khi người dùng phàn nàn.
- Tôi có những người làm điều đó cho tôi.
- Tôi sử dụng Spotlight Cloud từ Quest. Bạn cũng nên làm như vậy.