如何测量MySQL服务器的当前负载?我知道可以测量不同的东西,比如CPU使用率、RAM使用率、磁盘IO等等,但是否有一种通用的负载测量方法,例如服务器负载为40%等等?
如何测量MySQL服务器的当前负载?我知道可以测量不同的东西,比如CPU使用率、RAM使用率、磁盘IO等等,但是否有一种通用的负载测量方法,例如服务器负载为40%等等?
mysql> SHOW GLOBAL STATUS;
在这里找到。
是否有一种通用的负载度量,比如服务器负载为40%?
是的!有:
SELECT LOAD_FILE("/proc/loadavg")
适用于Linux机器。它显示过去1、5和15分钟的系统负载平均值。
系统负载平均值是处于可运行或不可中断状态的进程数量的平均值。 处于可运行状态的进程正在使用CPU或等待使用CPU。 处于不可中断状态的进程正在等待某些I / O访问,例如等待磁盘。 平均值取自三个时间间隔。 负载平均值未经过系统中CPU数量的归一化处理,因此负载平均值为1表示单个CPU系统始终处于负载状态,而在4个CPU系统上,它表示75%的时间处于空闲状态。
因此,如果您想进行归一化处理,还需要计算CPU的数量。
您也可以使用以下方式进行计算
SELECT LOAD_FILE("/proc/cpuinfo")
参见 'man proc'
使用 top 或 htop 工具可以实时查看 Linux 的使用情况。
你好,根据我的研究,我们有一些命令,比如:
MYTOP
:使用PERL语言编写的开源程序MTOP
:也是一个使用PERL编写的开源程序,它与MYTOP的功能相同,但它会监视那些执行时间较长的查询,并在特定时间后终止它们。