一、性能衡量要素
- CPU使用率(百分比)
- 物理/虚拟内存使用量(KB,MB,GB)
- 缓存命中率(次数,率/每秒)
- 页面错误率(次数,率/每秒)
- 数据库存储时间(率/每秒)
- 内存分配(字节数,对象数,率/每秒)
- 执行时间(字节数,对象数,率/每秒)
- 网络操作量(次数,率/每秒)
- 硬盘操作量(次数,率/每秒)
- 响应时间(毫秒)
- 垃圾回收(次数,率/每秒,花费的时间)
- 异常(次数,率/每秒)
- 启动时间(毫秒)
- 并发冲突 (次数,率/每秒)
二、不同场景下的看重因素
客户端程序:启动时间,内存使用量,CPU使用率。
服务端程序:CPU使用率,缓存命中率,并发冲突,内存分配,垃圾回收。
WEB应用:内存使用量,数据库存储时间,网络和硬盘操作,响应时间。
三、在什么时候考虑性能的事?
- 需求收集阶段,考虑性能目标。
- 架构阶段,提炼性能因子,冻结性能目标。
- 开发阶段,多次在原型代码或部分已完成的功能上进行性能测试,检验是否达到性能目标。
- 测试阶段,用负载测试和性能测试检验是否达到性能目标。
- 之后的开发和维护阶段,每个版本都进行性能测试和回归性能测试。
四、如何操作?
花点时间做一个自动化性能测试工具,搭建一个独立的测试环境,保证测试结果。