一、数据库性能指标
1、TPS:每秒事务数
TPS:服务器每秒处理的事务数
一个事务:指一个客户机向服务器发送请求,然后服务器做出反应的过程。
客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
mysql本身没有直接提供TPS参数值,根据mysql数据库提供的状态变量来计算TPS
com commit 提交次数(成功) com rollback 回滚次数(失败)
第一次获取的com commit的值与com rollback的值的和为C_R1,时间为t1;
第二次获取的com commit的值与conm rollback值的和为C_R2,时间为t2
TPS=(C_R2 - C_R1)/( t2 - t1) t1和t2生命周期之间的平均TPS
2、QPS:每秒查询量
QPS每秒查询数,也就是数据库每秒执行的SQL数量,包含insert,select,update,delete等
mysq数据本身已提供了QPS指标
QPS=questions / uptime 即可得到该指标的值
语句: show global status like 'Questions';
show global status like 'Uptime';
3、连接数
4、查询缓存
二、性能指标数据分析
性能测试监控指标:资源指标和系统指标
资源指标与硬件资源消耗直接相关,而系统指标则与用户场景及需求直接相关
CPU使用率
指用户进程与系统进程消耗的CPU时间百分比长时间情况下,一般可接受上限不超过85%
案例: 1000TPS,latency <3s,运行12小时,CPU平均使用率低于85%
linux命令:top,关注us/sy的资源监控
Memory
内存利用率=(1-空闲内存/总内存大小)*100%
一般至少有10%可用内存,内存使用率可接受上线为85%
Disk—磁盘 I/O:写/读
使用% Disk Time(磁盘用于读写操作所占用的时间百分比)度量磁盘读写性能
如果发现CPU大量的时间花费在等待磁盘操作上面:
那么可以考虑增加内存,将磁盘的数据导入内存,减少CPU对于磁盘的等待,整体提升系统性能
Network-网络宽带
一般使用计算器Bytes Total/sec 来度量,Bytes
Total/sec 表示为发送和接受字节的速率,包括针字符在内,判断网络连接速度是否是瓶颈,可以用该计数器的值和目前网络的带宽比较。