Cơ sở dữ liệu là tất cả về các truy vấn. Bạn lưu trữ dữ liệu của mình trong chúng và sau đó bạn phải có thể truy xuất dữ liệu đó theo một cách nào đó. Đây là các truy vấn - bạn viết chúng bằng một số ngôn ngữ, có cấu trúc hoặc không, theo cách đó bạn xác định dữ liệu nào bạn muốn truy xuất. Lý tưởng nhất là các truy vấn đó sẽ nhanh chóng, sau cùng thì chúng tôi không muốn đợi dữ liệu của mình. Có nhiều công cụ cho phép bạn hiểu cách các truy vấn của bạn hoạt động và cách chúng hoạt động. Trong bài đăng trên blog này, chúng tôi sẽ so sánh pgDash và ClusterControl. Trong cả hai trường hợp, hiệu suất truy vấn chỉ là một phần của chức năng. Nếu không có thêm thời hạn, hãy xem chúng.
pgDash là gì?
pgDash là một công cụ chuyên dụng để giám sát PostgreSQL và giám sát hiệu suất truy vấn là một trong những chức năng có sẵn.
pgDash yêu cầu pg_stat_statements để lấy dữ liệu. Có thể hiển thị các truy vấn trên mỗi cơ sở dữ liệu. Bạn có thể xác định cột nào sẽ được hiển thị (theo mặc định, một số cột trong số đó không được hiển thị, để làm cho dữ liệu dễ đọc hơn). Bạn có thể thấy nhiều loại dữ liệu như thời gian thực thi (trung bình, tối đa, tối thiểu, tổng số) nhưng cũng có thông tin về các khối tạm thời, các hàng được truy cập, quyền truy cập đĩa và lần truy cập bộ đệm. Điều này tạo ra một cái nhìn sâu sắc về cách một truy vấn nhất định hoạt động và điều gì có thể là lý do tại sao nó không hoạt động một cách hiệu quả. Bạn có thể sắp xếp dữ liệu bằng cách sử dụng bất kỳ cột nào để tìm kiếm các truy vấn, chẳng hạn như những truy vấn chậm nhất hoặc những truy vấn ghi nhiều khối tạm thời nhất.
Nếu cần, bạn có thể tra cứu các truy vấn được thực thi trong một khoảng thời gian xác định.
Mức độ chi tiết ở đây là một phút.
Đối với mọi truy vấn trong danh sách, bạn có thể nhấp vào và xem thống kê chi tiết hơn.
Bạn có thể xem chính xác truy vấn, một số dữ liệu trên đó (truy cập đĩa, truy cập bộ đệm chia sẻ, truy cập khối tạm thời). Cũng có thể cho phép kiểm tra và lưu trữ kế hoạch thực thi cho các truy vấn. Cuối cùng, bạn có thể thấy các biểu đồ cho thấy hiệu suất của truy vấn đã thay đổi như thế nào theo thời gian.
Nói chung, pgDash trình bày một cái nhìn sâu sắc về các chỉ số hiệu suất truy vấn trong PostgreSQL.
ClusterControl Giám sát &Quản lý Truy vấn PostgreSQL
ClusterControl đi kèm với Trình theo dõi truy vấn nhằm cung cấp cho người dùng thông tin chi tiết về hiệu suất các truy vấn của họ. Query Monitor có thể được sử dụng cho PostgreSQL nhưng cũng cho MySQL và Galera Cluster.
ClusterControl hiển thị dữ liệu được tổng hợp trên tất cả cơ sở dữ liệu và máy chủ trong cụm. Danh sách các truy vấn chứa thông tin về các số liệu liên quan đến hiệu suất. Số lần xuất hiện, hàng được kiểm tra, bảng tạm thời, thời gian thực hiện tối đa, trung bình và tổng. Danh sách có thể được sắp xếp bằng cách sử dụng một số cột (số lần xuất hiện, tối đa, trung bình, độ lệch chuẩn và tổng thời gian thực hiện).
Mỗi truy vấn có thể được nhấp vào, nó sẽ hiển thị toàn bộ văn bản truy vấn, một số bổ sung chi tiết và các gợi ý tối ưu hóa chung.
ClusterControl cũng đi kèm với mô-đun Ngoại trừ Truy vấn.
Nếu có bất kỳ truy vấn nào khác với hiệu suất trung bình của truy vấn cụ thể đó loại, chúng sẽ được hiển thị trong phần này, cho phép người dùng hiểu rõ hơn những truy vấn nào hoạt động không nhất quán và cố gắng tìm ra nguyên nhân gốc rễ của điều này.
Số liệu Bảng và Chỉ mục PostgreSQL
Ngoài dữ liệu liên quan trực tiếp đến hiệu suất truy vấn, cả hai công cụ đều cung cấp thông tin về các phần tử bên trong khác có thể ảnh hưởng đến hiệu suất truy vấn.
pgDash có phần "Công cụ" trong đó bạn có thể thu thập thông tin về chỉ mục, kích thước bảng và khối lượng:
Dữ liệu tương tự có sẵn trong ClusterControl, trong Thống kê truy vấn:
Có thể kiểm tra thống kê I / O cho bảng và chỉ mục, bảng và chỉ mục cồng kềnh, các chỉ mục không được sử dụng hoặc trùng lặp. Bạn cũng có thể kiểm tra bảng nào có nhiều khả năng được truy cập hơn bằng cách sử dụng chỉ mục hoặc quét tuần tự. Bạn cũng có thể kiểm tra kích thước của các bảng và cơ sở dữ liệu lớn nhất.
Kết luận
Chúng tôi hy vọng blog ngắn này cung cấp cho bạn cái nhìn sâu sắc về cách ClusterControl so sánh với pgDash trong các tính năng liên quan đến hiệu suất truy vấn. Xin lưu ý rằng ClusterControl không chỉ nhằm hỗ trợ bạn theo dõi hiệu suất mà còn để xây dựng và triển khai các ngăn xếp HA cho nhiều cơ sở dữ liệu Nguồn mở, thực hiện quản lý cấu hình, xác định và thực thi lịch trình sao lưu và nhiều tính năng khác. Nếu bạn quan tâm đến ClusterControl, bạn có thể tải xuống miễn phí.