QPS(Query Per Second)每秒请求次数,也就是数据库每秒执行的 SQL 数量。包含insert、select、update、delete 等。
TPS (Transaction Per Second)每秒事务数,即数据库每秒执行的事务数。
需要使用的参数:
Queries : 表示数据库每秒执行的SQL数量
Com_commit :表示提交次数
Com_rollback:表示回滚次数
此脚本只统计 QPS TPS 活动中线程 线程峰值 总共创建的线程
#!/bin/bash
mysqladmin -uroot -pb3b65e7568a0ed28 extended-status -i1|awk \
'BEGIN{flag=0;
print "";
print "QPS TPS Table_locks_waited Threads_run Threads_con Threads_created open_tables";
print "-------------------------------------------------------------------------------------------"}
$2 ~ /Queries$/ {q=$4-lq;lq=$4;}
$2 ~ /Com_commit$/ {c=$4-lc;lc=$4;}
$2 ~ /Com_rollback$/ {r=$4-lr;lr=$4;}
$2 ~ /Table_locks_waited$/ {tl=$4;}
$2 ~ /Threads_running$/ {tr=$4;}
$2 ~ /Threads_connected$/ {tc=$4;}
$2 ~ /Threads_created$/ {tcd=$4;}
$2 ~ /Open_tables$/ {ot=$4;
if(flag==0){
flag=1; count=0}
else{
printf "%-6d %-8d %-20d %-10d %-12d %-13d %d \n", q,c+r,tl,tr,tc,tcd,ot;
}
}'
# 说明:lq=$4取出第一次的Queries 隔1秒 q=Queries - lq 就取出了 1秒内的间隔值 QPS,TPS同理(取的是提交和回滚的和)
Threads_created : 表示创建过的线程数
Threads_connected # 峰值线程
Threads_running # 活动中的线程
Table_locks_waited # 表示需要等待的表锁数
open_tables # 表示已打开的表的数量,若过大,增加table_cache_size