如何查看mysql负载

如何查看mysql负载,第1张

这个问题并不是转义方面的问题,不信的话可以使用\s的完整模式status试试:

sql = 'status'

还是一样会报错,这是因为\s属于mysql的系统命令,并不输入sql语句的范畴,所有使用python的mysqldb模块是获得不到结果的。

这样的话只能从python的os模块执行系统命令方面入手了

>>>import os

>>>os.system("mysql -u root -e status")

--------------

mysql Ver 14.15 Distrib 6.0.11-alpha, for portbld-freebsd7.2 (i386) using 5.2

Connection id: 66

Current database:

Current user: root@localhost

...

...

或者

>>>print os.popen("mysql -u root -e status").read()

--------------

mysql Ver 14.15 Distrib 6.0.11-alpha, for portbld-freebsd7.2 (i386) using 5.2

Connection id: 67

...

...

可以先使用 uptime 命令查看 CPU 平均负载

那个 2 users 表示用户连接数,指的是总连接数。

那个 load average 就是系统平均负载,1 分钟、5 分钟、15 分钟系统负载的平均值。

指的是一段时间内 CPU 正在处理以及等待 CPU 处理的进程数之和的统计信息,也就是 CPU 使用队列的长度的统计信息。这个数字越小越好。

然后再用 vmstat 命令看下 CPU 是否饱和

这里面的 r 就是等待 CPU 的进程数,可以用来判定 CPU 是否饱和,当 r 值高于 CPU 数时,就意味着饱和了。

最右边那个 us,sy,id,wa,st 表示所有 CPU 的使用百分比。它们分别是 user time,system time,idle,wait I/O 和 steal time 的缩写。将 us 和 sy 的百分比加和,可以确定 CPU 是否处于忙碌状态。

如果是多核的机器还可以使用 mpstat 命令查看是否均衡

与 CPU 相关的命令还有 pidstat

这个命令展示了 CPU 消耗在了哪些进程上面,消耗过大的进程需要格外关注下。

基本上你使用上述几个命令 就可以初步了解 CPU 出现了何种问题

有了猜测的方向之后 你就可以进一步深入去排查了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6167910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存