Điều gì thu thập thông tin giám sát cho máy chủ MySQL?

Bài viết đề cập đến các chỉ số hiệu suất chính có sẵn trong MySQL có thể giúp người dùng cải thiện và tối ưu hóa hiệu suất truy vấn trong cơ sở dữ liệu MySQL. Ngoài ra, có một tổng quan ngắn gọn về một số công cụ giám sát hiệu suất của MySQL

Điều gì thu thập thông tin giám sát cho máy chủ MySQL?

MySQL là một cơ sở dữ liệu quan hệ nguồn mở mà nhiều người dùng thích sử dụng trong công việc và hoạt động hàng ngày của họ do nó hỗ trợ nhiều loại công cụ lưu trữ, tính linh hoạt và hiệu suất cao, bảo mật dữ liệu mạnh mẽ, tiết kiệm chi phí, quản lý dễ dàng và

Tại sao bạn cần đo lường và theo dõi hiệu suất của MySQL?

Đảm bảo hiệu suất cơ sở dữ liệu trơn tru và hiệu quả là một trong những khía cạnh cốt lõi đối với bất kỳ doanh nghiệp và công ty nào dù lớn hay nhỏ. Do đó, có được cái nhìn sâu sắc toàn diện về thời gian hoạt động hoặc tải của cơ sở dữ liệu là rất quan trọng trong một số trường hợp và cần được theo dõi thường xuyên

Vì lý do này, trên thị trường, có rất nhiều công cụ giám sát để theo dõi, phân tích và đo lường hiệu suất cũng như điều tra các vấn đề tiềm ẩn của nó. Chúng giúp bạn không chỉ tối ưu hóa các truy vấn mà còn trực quan hóa các chỉ số cơ sở dữ liệu, thu thập số liệu thống kê và hiển thị trạng thái hiệu suất để hiểu tác động đối với hiệu suất tổng thể và khắc phục sự cố có thể xảy ra

Việc tối ưu hóa hiệu suất cơ sở dữ liệu có thể mang lại những lợi ích sau

  • Tăng tốc truy xuất dữ liệu
  • Tăng đáng kể hiệu suất truy vấn
  • Xác định hiệu suất chậm
  • Cải thiện trải nghiệm người dùng
  • Ngăn chặn thời gian chết có thể xảy ra và tiêu thụ quá nhiều tài nguyên
  • Xác định tác động của các thay đổi cơ sở dữ liệu
  • Chẩn đoán lỗ hổng bảo mật

Số liệu hiệu suất cơ sở dữ liệu MySQL

MySQL cung cấp một loạt các số liệu hữu ích mà bạn nên theo dõi để phát hiện các tắc nghẽn và phân tích những truy vấn nào cần được tối ưu hóa

Các số liệu giám sát hiệu suất cơ sở dữ liệu quan trọng nhất bao gồm những điều sau đây

  • Hệ thống. Tài nguyên hệ thống trên máy chủ. Chúng bao gồm mức sử dụng CPU, mức sử dụng bộ nhớ, mức sử dụng ổ đĩa, băng thông mạng, yêu cầu đọc/ghi, thống kê thời gian chờ Đầu vào/Đầu ra, thời gian đọc/ghi trung bình, v.v.
  • Thông lượng truy vấn. Khối lượng công việc của cơ sở dữ liệu có thể được đo bằng số lượng truy vấn mỗi giây. Với số liệu này, bạn có thể phân tích cách máy chủ của mình thực hiện và xử lý các truy vấn theo thời gian, cũng như theo dõi hiệu suất của các câu lệnh cụ thể (CHỌN, CHÈN, CẬP NHẬT và XÓA)
  • kết nối. Số lượng kết nối mở chạy đồng thời có thể làm quá tải máy chủ và làm chậm hiệu suất
  • thời gian hoạt động. Thời gian khởi động và tắt cơ sở dữ liệu trên phiên bản MySQL
  • chủ đề. Số lượng khách hàng hiện đang kết nối
  • Thời gian đáp ứng. Thời gian phản hồi trung bình cho mỗi truy vấn hoặc cho tất cả các truy vấn trong máy chủ cơ sở dữ liệu mà bạn được kết nối
  • độ trễ. Thời lượng của các truy vấn hoặc hoạt động
  • lỗi. Số lỗi mã xảy ra thường xuyên nhất và gây ra lỗi
  • Truy vấn. Số câu lệnh được máy chủ thực hiện thường xuyên nhất, bao gồm cả các thủ tục được lưu trữ
  • câu hỏi. Số lượng báo cáo khách hàng gửi
  • Sử dụng vùng đệm. Sử dụng bộ nhớ trên máy chủ. Theo quy định, nó được sử dụng để điều tra các vấn đề về hiệu suất

Tùy thuộc vào vị trí, các chỉ số và thống kê hiệu suất cơ sở dữ liệu MySQL có thể được chia thành các biến trạng thái máy chủ, lược đồ hiệu suất và lược đồ hệ thống

Thống kê máy chủ MySQL

Để thu thập số liệu thống kê máy chủ, bạn có thể sử dụng các biến trạng thái máy chủ. Chúng là các bộ đếm nội bộ ở cấp độ phiên hoặc toàn cầu mà bạn có thể xem để nhận thông tin về các hoạt động đang chạy trên máy chủ MySQL

Để xem các biến này, hãy thực thi câu lệnh SHOW [GLOBAL | SESSION] STATUS trong đó GLOBAL trả về các giá trị tổng hợp cho tất cả các kết nối và SESSION – chỉ các giá trị cho kết nối hiện tại

Lược đồ hiệu suất MySQL

Lược đồ hiệu suất MySQL lưu trữ số liệu thống kê về các sự kiện máy chủ và thực thi truy vấn ở mức thấp. Bắt đầu với MySQL v5. 6. 6 nó được bật theo mặc định

MySQL hiển thị nó dưới dạng cơ sở dữ liệu performance_schema chứa các bảng mà bạn có thể truy vấn bằng các câu lệnh SQL. Kết quả là bạn nhận được thông tin về hiệu suất có thể bao gồm các sự kiện hiện tại, lịch sử sự kiện và tóm tắt, phiên bản đối tượng, dữ liệu thiết lập, thời lượng của sự kiện máy chủ, giám sát trạng thái, v.v.

Lược đồ hệ thống trong MySQL

Lược đồ hệ thống MySQL bao gồm các thủ tục được lưu trữ, dạng xem và các hàm được lưu trữ để giải thích dữ liệu được thu thập bởi lược đồ hiệu suất và để kiểm tra xem một phiên bản MySQL hiện đang chạy như thế nào. Theo mặc định, nó được kích hoạt trong MySQL v5. 7. 7 trở lên. Lược đồ hệ thống cung cấp thông tin về việc sử dụng cơ sở dữ liệu, bao gồm các kết nối hiện tại, truy vấn đang được thực thi, kích thước bộ đệm, khóa và tóm tắt hoạt động câu lệnh, độ trễ I/O, mức sử dụng bộ nhớ của máy chủ và người dùng, số liệu thống kê chờ, tài nguyên được người dùng sử dụng, v.v.

Theo dõi hiệu suất truy vấn

Để phân tích hiệu suất truy vấn và phát hiện các truy vấn chạy lâu và tiêu tốn tài nguyên, người dùng có thể theo dõi các số liệu khác nhau, bao gồm mức tiêu thụ CPU và bộ nhớ, thời gian thực hiện, hoạt động của đĩa, số liệu thống kê chờ, chu kỳ I/O, v.v.

Trong MySQL, bạn có thể xác định và điều tra nhật ký truy vấn chậm. Đối với điều này, hãy đảm bảo rằng nhật ký được bật bằng cách chạy lệnh sau

MariaDB [(none)]> show global variables like 'slow%log%';

Cùng với điều này, hãy kích hoạt biến slow_query_log_file xác định tệp để lưu trữ nhật ký truy vấn chậm, long_query_time xác định thời gian thực hiện trong thời gian thực và min_examined_row_limit, cho biết số lượng hàng được kiểm tra. Tất cả các biến này có thể được sử dụng để tìm kiếm các truy vấn mất nhiều thời gian để thực hiện và cần được phân tích để tối ưu hóa hiệu suất truy vấn

Một cách khác để phát hiện các truy vấn MySQL chậm là thực hiện lệnh sau

SHOW [FULL] PROCESSLIST;

-- or

SHOW ENGINE INNODB STATUS \G

Chúng cho phép bạn xem các truy vấn đang hoạt động và kiểm tra trạng thái truy vấn

Nhật ký truy vấn MySQL là số liệu giám sát truy vấn hữu ích. Tuy nhiên, chúng không cung cấp một bức tranh đầy đủ về hiệu suất truy vấn. Trong trường hợp này, các công cụ hiệu suất truy vấn bên thứ ba của MySQL có thể trợ giúp

Công cụ giám sát hiệu suất MySQL

Thị trường công cụ giám sát hiệu suất MySQL cung cấp rất nhiều công cụ để phân tích và tối ưu hóa hiệu suất truy vấn, ví dụ: MySQL Enterprise Monitor, MySQL Workbench và Query Profiler trong dbForge Studio cho MySQL

MySQL Enterprise Monitor là một công cụ giám sát được thiết kế để theo dõi các máy chủ và phiên bản thời gian thực của MySQL, cảnh báo người dùng về các sự cố có thể xảy ra và thông báo cho họ cách giải quyết chúng. Với công cụ này, bạn có thể tối ưu hóa hiệu suất, nhận biết các bản phát hành và bản sửa lỗi, quản lý và tránh mọi sự cố hoặc thời gian ngừng hoạt động. Bảng điều khiển doanh nghiệp có sẵn trong MySQL Enterprise Monitor giúp bạn kiểm tra số liệu thống kê thực thi, tìm kiếm các truy vấn đắt nhất, quan sát các số liệu điều chỉnh hiệu suất của InnoDB, xác định các lỗ hổng bảo mật, phân tích các truy vấn một cách trực quan và xem số liệu của các máy chủ MySQL mà bạn đang chạy. Tuy nhiên, cần lưu ý rằng MySQL Enterprise Monitor phụ thuộc vào lược đồ hiệu suất của MySQL. Vì vậy, để hoạt động chính xác, nó nên được kích hoạt

MySQL Workbench là một công cụ mô hình hóa trực quan cho cơ sở dữ liệu MySQL, ngoài nhiều tính năng nâng cao và hữu ích, còn cung cấp một bộ công cụ để xem và cải thiện hiệu suất cơ sở dữ liệu. Bảng điều khiển Hiệu suất có thể trực quan hóa các chỉ số hiệu suất chính, chẳng hạn như lưu lượng truy cập mạng vào và ra, thống kê hiệu suất, câu lệnh SQL đã thực thi, trạng thái InnoDB, bao gồm hoạt động của đĩa, ghi và đọc. Ngoài ra, với các báo cáo hiệu suất, việc phân tích hiệu suất cơ sở dữ liệu MySQL sẽ dễ dàng hơn nhiều. Để tinh chỉnh hiệu suất câu lệnh SQL, hãy kiểm tra kế hoạch giải thích

Trình cấu hình truy vấn có sẵn trong dbForge Studio dành cho MySQL là công cụ tối ưu hóa và lập cấu hình truy vấn MySQL giúp bạn kiểm tra và tăng hiệu suất truy vấn trong cơ sở dữ liệu MySQL và MariaDB. Với kế hoạch giải thích của công cụ điều chỉnh hiệu suất MySQL, bạn có thể dễ dàng hiểu cách các hoạt động của MySQL được thực thi, mất bao nhiêu thời gian để thực hiện các truy vấn, liệu có nên sử dụng các chỉ mục để có ảnh hưởng tích cực đến hiệu suất hay không. Trình cấu hình truy vấn thu thập số liệu thống kê phiên và hiển thị kết quả cấu hình giúp bạn điều tra các tắc nghẽn có thể xảy ra và mức tiêu thụ tài nguyên, đồng thời quyết định một kỹ thuật hiệu quả để tối ưu hóa hiệu suất. Để biết thêm thông tin về các mẹo hiệu quả để điều chỉnh hiệu suất, hãy xem Điều chỉnh hiệu suất máy chủ MySQL với các mẹo để tối ưu hóa hiệu quả

Phần kết luận

Trong bài viết này, chúng tôi đã xem xét các chỉ số hiệu suất chính mà bạn có thể sử dụng để phân tích và cải thiện hiệu suất cơ sở dữ liệu và truy vấn MySQL, đồng thời cung cấp tổng quan ngắn về MySQL Enterprise Monitor, MySQL Workbench và Query Profiler được tích hợp trong dbForge Studio cho các công cụ giám sát và tối ưu hóa hiệu suất của MySQL

Tải xuống phiên bản dùng thử miễn phí 30 ngày của dbForge Studio dành cho MySQL để đánh giá các khả năng của Trình cấu hình truy vấn và bị thuyết phục rằng nên mua phiên bản này sau khi phiên bản dùng thử hết hạn

Màn hình doanh nghiệp MySQL có thể được sử dụng ở đâu?

MySQL Enterprise Monitor có thể giám sát tất cả các loại cài đặt, từ một phiên bản MySQL đơn lẻ đến các cụm máy chủ cơ sở dữ liệu lớn . MySQL Enterprise Monitor là một ứng dụng dựa trên web, cho phép bạn giám sát các phiên bản MySQL trên mạng của mình hoặc trên dịch vụ đám mây.

Trình phân tích truy vấn MySQL là gì?

Trình phân tích truy vấn MySQL cho phép các nhà phát triển và DBA nhanh chóng cải thiện hiệu suất của các ứng dụng cơ sở dữ liệu của họ bằng cách giám sát hiệu suất truy vấn . Trình phân tích truy vấn MySQL cho phép bạn xác định chính xác mã SQL là nguyên nhân gốc rễ của việc chạy chậm.

Làm cách nào để kiểm tra hiệu suất của máy chủ MySQL?

Định vị chỉ số hiệu suất của MySQL . các biến trạng thái máy chủ, lược đồ hệ thống và lược đồ hiệu suất . Biến trạng thái máy chủ. Đây là những “bộ đếm” nội bộ mà MySQL duy trì để cung cấp thông tin về hoạt động của nó.

MySQL có tác nhân không?

Tác nhân thu thập dữ liệu từ phiên bản và máy chủ được giám sát, đồng thời truyền dữ liệu đó tới MySQL Enterprise Service Manager. Tác nhân có thể được cài đặt trên cùng một máy chủ với phiên bản MySQL hoặc trên một máy chủ khác