当我们想了解当前mysql连接情况,分析其运行状态,那该如何查看呢?
登录mysql数据库后,
show status();
会发现其中有一向【query】
此query查询栏目,表示当前时间发生过的查询次数,要想知道一段时间的查询次数,查询两次做差即可。
当前query - 10分钟后的query = 此十分钟的查询数
再往下 有【Threads】相关栏目
1.Threads_connected:当前线程连接个数
2.Threads_running: 当前进程运行个数
3.Threads_cached:已经被线程缓存池缓存的线程个数
4.Threads_created:表示创建过的线程数,如果发现Threads_created值过大的话,表明MySQL服务器一直在创建线程,这也是比较耗资源,可以适当增加配置文件中thread_cache_size值
show variables like 'thread_cache_size';
AWK用法:
awk '/匹配正则/{printf("%d\n",$1)}' file_name.txt //匹配txt文件里的第一列($1)的信息
awk '正则/{处理方式}/正则/{处理方式}'
举例:
mysqladmin -uroot -p ext //效果等同于===>show status()
1.使用awk查询当前mysql查询条数:
mysqladmin -uroot -p ext |awk '/Queries/{printf("%d\n",$4)}' mysqladmin -uroot -p ext |awk '/Queries/{a=$4}END{printf("%d",a)}' //另一种写法
2.使用awk查询多条列的信息:
mysqladmin -uroot -p ext |awk '/Queries/{printf("%d\n",$4)}/Threads_connected/{printf("%d\n",$4)}/Threads_running/{printf("%d\n",$4)}' mysqladmin -uroot -p ext |awk '/Queries/{a=$4}/Threads_connected/{b=$4}/Threads_running/{c=$4}END{printf("%d %d %d\n",a,b,c)}'
以上就是Mysql分析-awk+Threads分析状态 的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!