là hầu như không thể đưa ra cơ sở dữ liệu của bạn và máy chủ web đều nằm cách khác nhau
cộng bạn cố gắng để đạt được nó sử dụng PHP
giới hạn
- bạn cần phải có quyền truy cập vào cả hai máy chủ (ví dụ như ssh)
- nếu bạn nhúng kiểm tra tải CPU chẳng hạn như s_ exec_shell vào cơ sở dữ liệu và trả về
uptime
sau mỗi lần thực hiện truy vấn, là quá mức cần thiết
workaround
nhúng một cronjob trong máy chủ cơ sở dữ liệu của bạn,
định kỳ gửi email nếu tải máy chủ đó lại không trúng
Hoặc
tại cơ sở dữ liệu,
định kỳ gửi email trên truy vấn đang chạy hiện tại sử dụng
show full processlist
Ví dụ để lưu trữ HIỂN THỊ ĐẦY ĐỦ processlist
$con = mysqli_connect(...) or die('unable to connect');
$sql = "show full processlist";
$res = mysqli_query($con, $sql) or die($sql);
/* optional path is /tmp */
$fp = fopen('/tmp/'.date('YmdHis'), 'w+');
while ($row = $res->fetch_row())
{
fputcsv($fp, $row);
}
$res->free_result();
Trên đây nên là đủ để đổ hiện mysql quá trình-list vào một tập tin.
Trong hộp linux, có rất nhiều lệnh cho phép người dùng hiển thị tải CPU.
Nhưng là cửa sổ, tôi đoán bạn có thể hình dung ra với một số tìm kiếm trên google của SO
câu hỏi, cơ sở dữ liệu và máy chủ web giống nhau? – ajreal
Không vì thời gian thực hiện để xử lý truy vấn không hiển thị mức sử dụng CPU trên máy chủ. Nó có thể là một truy vấn nhanh/lớn hoặc truy vấn chậm. – Jules
Mysql 5.6 có mô-đun hiệu suất. điều này có thể hữu ích. – Merlin