tôi có một máy chủ web bận rộn với LAMP được cài đặt, và tôi đã tự hỏi, có cách nào để đếm có bao nhiêu truy vấn mỗi giây (mysql) được thực hiện trong máy chủ?Mysql đếm số truy vấn mỗi giây được thực hiện, có cách nào không?
Cảm ơn bạn.
tôi có một máy chủ web bận rộn với LAMP được cài đặt, và tôi đã tự hỏi, có cách nào để đếm có bao nhiêu truy vấn mỗi giây (mysql) được thực hiện trong máy chủ?Mysql đếm số truy vấn mỗi giây được thực hiện, có cách nào không?
Cảm ơn bạn.
Dùng thử tiện ích tuyệt vời của Jeremy Zawodny mytop.
Nếu bạn đã cài đặt mô-đun Perl Time::HiRes, mytop sẽ tự động sử dụng nó để tạo truy vấn có độ truy cập cao trong mỗi thông tin thứ hai.
Có thông tin hữu ích được khai thác từ SHOW GLOBAL STATUS; lệnh, bao gồm số lượng truy vấn được thực hiện (nếu MySQL của bạn là 5.0.76 trở lên).
Xem http://dev.mysql.com/doc/refman/5.0/en/server-status-variables.html
tất cả các câu hỏi được bao gồm như một phần của truy vấn này ...? – Uday
Tôi đang thanh toán cho cách tính toán giá trị câu hỏi hoặc giá trị truy vấn của mysql. Tôi đang làm tổng COM_SELECT, COM_UPDATE, COM_SET_OPTION, COM_UPDATE, COM_DELETE và một vài chi tiết khác nhưng không nhận được kết quả khớp chính xác giữa hai kết quả này. – Uday
Chúng tôi có thể có một tập lệnh nhỏ cho việc này. Nó sẽ là một số điều như dưới đây.
declare -i a
declare -i b
declare -i c
a=`mysql -uroot -pxxxxx -e "show status like 'Queries'" |
tail -1 | awk '{print $2}'`
echo "$a"
sleep 1
b=`mysql -uroot -pxxxxx -e "show status like 'Queries'" |
tail -1 | awk '{print $2}'`
echo "$b"
c=$b-$a
echo "Number of Queries per second is: $c"
Điều này có thể thực hiện được trong MySQL không? Tôi không biết làm thế nào để làm điều đó thật đáng buồn. –
Khi bạn sử dụng lệnh "STATUS" (không hiển thị TÌNH TRẠNG), MySQL sẽ tính toán các truy vấn mỗi giây kể từ khi máy chủ khởi động cho bạn.
Đã thử nghiệm với MySQL 5.1.63.
SELECT s1.variable_value/s2.variable_value
FROM information_schema.global_status s1, information_schema.global_status s2
WHERE s1.variable_name='queries'
AND s2.variable_name ='uptime';
Bạn có thể sử dụng:
mysqladmin -u root -p status
đó sẽ trở lại sản lượng như:
Uptime: 17134 Threads: 2 Questions: 1245 Slow queries: 0 Opens: 49 Flush tables: 1 Open tables: 42 Queries per second avg: 0.072
đây truy vấn mỗi thứ hai là: 0,072, đó là questions/uptime
.
tôi chưa cài đặt. tôi đã tìm thấy một số cách khác trạng thái mysqladmin – Nikos