3 资源指标
中央处理器是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。CPU Load: 系统正在干活的多少的度量,队列长度。系统平均负载。
Central Processing Unit:CPU
CPU指标主要指的CPU利用率,包括用户态(user)、系统态(sys)、等待态(wait)、空闲态(idle)。CPU 利用率要低于业界警戒值范围之内,即小于或者等于75%;CPU sys%小于或者等于30%, CPU wait%小于或者等于5%。单核CPU也需遵循上述指标要求。CPU Load要小于CPU 核数。
内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。
Memory就是内存的简称。
现代的操作系统为了最大利用内存,在内存中存放了缓存,因此内存利用率100%并不代表内存有瓶颈,衡量系统内有有瓶颈主要靠SWAP(与虚拟内存交换)交换空间利用率,一般情况下,SWAP交换空间利用率要低于70%,太多的交换将会引起系统性能低下。
磁盘吞吐量是指在无磁盘故障的情况下单位时间内通过磁盘的数据量。
Disk Throughput.
磁盘指标主要有每秒读写多少兆,磁盘繁忙率,磁盘队列数,平均服务时间,平均等待时间,空间利用率。其中磁盘繁忙率是直接反映磁盘是否有瓶颈的的重要依据,一般情况下,磁盘繁忙率要低于70%。
网络吞吐量是指在无网络故障的情况下单位时间内通过的网络的数据数量。单位为Byte/s。网络吞吐量指标用于衡量系统对于网络设备或链路传输能力的需求。当网络吞吐量指标接近网络设备或链路最大传输能力时,则需要考虑升级网络设备。
Network Throughput
网络吞吐量指标主要有每秒有多少兆流量进出,一般情况下不能超过设备或链路最大传输能力的70%。
操作系统内核参数主要包括信号量、进程、文件句柄,一般不要超过设置的参数值即可,具体如下:
一级指标二级指标单位解释备注
内核参数Maxuprc个限制每个用户的用户进程的最大数量
Max_thread_proc个定义每个进程允许的最大线程数量
Filecache_max字节最大可用于cache file I/O的物理内存
Ninode个内存中 HFS 文件系统打开 i 节点的最大数量
Nkthread个限制允许同时运行的线程数量
Nproc个限制允许同时运行的进程数量
Nstrpty个基于 STREAMS 的伪终端 (pts) 的最大数量
Maxdsiz字节任何用户进程的数据段的最大大小(以字节为单位)
maxdsiz_64bit字节任何用户进程的数据段的最大大小(以字节为单位)
maxfiles_lim个每个进程的文件描述符的最大数目硬限制
maxssiz_64bit字节任何用户进程的堆栈的最大大小
Maxtsiz字节任一用户进程的文本段的最大大小
nflocks个文件锁的最大数量
maxtsiz_64bit字节任一用户进程的文本段的最大大小
msgmni个系统级 System V IPC 消息队列 (ID) 所允许的最大数量
msgtql个系统中任意时间的最大 System V IPC 消息数
npty个BSD 伪终端 (pty) 的最大数量
nstrtel个指定内核可支持传入 telnet 会话的 telnet 设备文件的数量
nswapdev个可用于交换的设备的最大数量
nswapfs个可用于交换的文件系统的最大数量
semmni个System V IPC 系统级信号量标识符的数量
semmns个System V 系统级信号量的数量
shmmax字节System V 共享内存段的最大大小
shmmni个系统中 System V 共享内存段标识符的数量
shmseg个每个进程 System V 共享内存段的最大数量
常用的中间件例如Tomcat、Weblogic等指标主要包括JVM, ThreadPool, JDBC,具体如下:
一级指标二级指标单位解释备注
GCGC频率每秒多少次java虚拟机垃圾部分回收频率
Full GC频率每小时多少次java虚拟机垃圾完全回收频率
Full GC平均时长秒用于垃圾完全回收的平均时长
Full GC最大时长秒用于垃圾完全回收的最大时长
堆使用率百分比堆使用率
ThreadPoolActive Thread Count个活动的线程数
Pending User Request个处于排队的用户请求个数
JDBCJDBC Active Connection个JDBC活动连接数
当前正在运行的线程数不能超过设定的最大值。一般情况下系统性能较好的情况下,线程数最小值设置50和最大值设置200比较合适。
当前运行的JDBC连接数不能超过设定的最大值。一般情况下系统性能较好的情况下,JDBC最小值设置50和最大值设置200比较合适。
GC频率不能频繁,特别是FULL GC更不能频繁,一般情况下系统性能较好的情况下,JVM最小堆大小和最大堆大小分别设置1024M比较合适。
常用的数据库例如MySQL指标主要包括SQL、吞吐量、缓存命中率、连接数等,具体如下:
一级指标二级指标单位解释备注
SQL耗时微秒执行SQL耗时
吞吐量QPS个每秒查询次数
TPS个每秒事务次数
命中率Key Buffer命中率百分之索引缓冲区命中率
InnoDB Buffer命中率百分之InnoDB缓冲区命中率
Query Cache命中率百分之查询缓存命中率
Table Cache命中率百分之表缓存命中率
Thread Cache命中率百分之线程缓存命中率
锁等待次数次锁等待次数
等待时间微秒锁等待时间
SQL耗时越小越好,一般情况下微秒级别。
命中率越高越好,一般情况下不能低于95%。
锁等待次数越低越好,等待时间越短越好。
前端指标主要包括页面展示和网络所花的时间,具体如下:
一级指标二级指标单位解释备注
页面展示首次显示时间毫秒在浏览器地址栏输入URL按回车到用户看到网页的第一个视觉标志为止
OnLoad事件时间毫秒浏览器触发onLoad事件的时间,当原始文档和所有引用的内容完全下载后才会触发这个事件
完全载入的时间毫秒所有onLoad JavaScript 处理程序执行完毕,所有动态的或延迟加载的内容都通过这些处理程序触发的时间
页面数量页面大小KB整个页面大小
请求数量次从网站下载资源时所有网络请求的总数,尽量少
网络DNS时间毫秒DNS查找时间
连接时间毫秒连接时间就是浏览器与Web服务器建立TCP/IP连接的时间
服务器时间毫秒服务器处理时间
传输时间毫秒内容传输所用时间
等待时间毫秒等待某个资源释放的时间
页面要尽可能小及压缩。
页面展示和花费时间越短越好。