1、系统指标——与用户场景及需求直接相关。
2、服务器资源指标——与硬件资源消耗直接相关
1、Java应用:
2、数据库:
3、压测机资源
1、可以直接用来衡量系统处理能力的指标是(吞吐量)。
2、在系统处于轻压力区即未饱和时,并发用户数上升,平均响应时间(基本不变),系统吞吐量(上升)。
3、在系统处于重压力区即基本饱和时,并发用户数上升,平均响应时间(上升),系统吞吐量(基本不变)。
4、在系统处于崩溃区即压力过载时,并发用户数上升,平均响应时间(上升),系统吞吐量(下降)。
处理速度:CPU>内存>磁盘
每个程序的CPU使用率 = 在一段时间内每个程序占用的CPU时间 ÷ 总时间
性能测试时统计的CPU使用率 = 用户CPU使用率 + 系统CPU使用率
电脑中的所有程序及所有操作都要占用需要消耗CPU。
QQ、微信、浏览器等用户使用的程序消耗CPU,称为用户CPU。
从内存中读取数据、从磁盘中读数据、磁盘管理等操作系统的工作消耗CPU,称为为系统CPU。
1、正常情况下,程序加载到内存中来执行。
2、当内存不够时,会加载部分立即要执行的程序到内存中,其他的程序部分放在磁盘中(虚拟内存)。
3、当立即要执行的程序执行完成后,从虚拟内存中读取其他的数据内容到实际内存中,再执行程序的处理。
4、依次循环第3步,完成程序的运行。
卡的原因的就是:每次都需要从虚拟内存(磁盘)中读取数据进行执行,磁盘的读取速度相对CPU和内存而言非常慢,因此感觉内存不足程序很卡。
闪退的原因就是:在第2步中,需要加载部分立即要执行的程序到内存中,如果当前的内存空间不满足最低要求(立即要执行的程序所需要的内存)时,就会出现闪退。
固定磁盘IO:500M/s
机械硬盘IO:不超过200M/s
在性能监控时:
(1)监控磁盘实际IO是否已经接近最大值,接近则有问题。
(2)IO队列,如果当前IO队列长度一直不为0,说明磁盘IO有问题。
监控实际的网络流量,与网络宽带做对比,如果实际网络流量与网络宽带接近,则说明网络存在瓶颈,需要优化。
慢查询SQL
参数说明:
设置步骤:
1、查询相关参数配置
show variables like 'slow_query%';
show variables like 'long_query_time';
set global slow_query_log='ON'; #开启慢查询日志
set global slow_query_log_file='/data/slow_query.log'; #设置慢查询日志存放位置
set global long_query_time=1; #设置慢查询时间标准,设置之后会在下次会话才生效