标签:利用 需要 目标 开发 购物 执行 算法 抛出异常 字节
性能目标,需求确定后,需要决定大体性能目标,在开发运营过程中调整目标。
举例:
1.购物车并发用户量不超过5000,需要300ms内处理完成“重要”类别下任意页面请求。
2.应用程序单个空闲用户会话的内存占用不能超过4kb
3.在不超过10台应用服务器访问的情况下,数据库服务器CPU和磁盘利用率不超过70%且能在75s内返回“常用”分类下的查询请求。
性能指标关注点:在一定数量并发活跃请求和一定的在线用户数下,单个请求处理时间,内存占用,CPU使用,页面失效次数
性能目标确定后,需进行性能测试,负载测试,以及后续优化。
对于客户端应用:关注启动时间,内存占用,CPU占用率
WEB应用:内存使用量,数据库访问,网络,磁盘操作,响应时间
系统算法服务应用:关注CPU占用率,缓存失效,竞争,内存分配,垃圾回收
性能指标可以在不同粒度下测试,内存的分配和执行时间可以在系统级别,单进程级别,独立方法,甚至代码行测量。
相对于整体CPU占用率或进程级别的执行时间来说,特定方法的执行时间可能更易于操作性能指标。
不幸的是提高测量粒度会给性能本身带来负担。
CPU使用率 百分比
物理/虚拟内存占用 字节B 千字节KB MB GB
缓存失效 次/秒
页面失效 次/秒
数据库访问次数及耗时 次/秒 ms
内存分配 字节,对象数量 ,秒/次
执行时间 ms
网络操作 次/秒
磁盘操作 次/秒
响应时间 ms
垃圾回收 次/秒 耗时 ,占总时间百分比
抛出异常 次/秒
启动时间 ms
竞争 次/秒
1.需求收集阶段:开始思考设置怎样的性能目标
2.架构阶段:提炼各项总要指标,定义他们的具体性能目标
3.开发阶段:对原型代码或局部实现的功能进行比较频繁的探索式性能测试,确保满足系统的性能目标
4.测试阶段:大量的负载测试和性能测试,检测是否满足系统的性能目标
5.维护:每个版本额外的负载和性能测试(每周每天),快速发现系统中性能的退化
如何开发一套自动负载测试和性能测试工具,搭建独立的实验环境,分析测试结果呢?
标签:利用 需要 目标 开发 购物 执行 算法 抛出异常 字节
原文地址:https://www.cnblogs.com/fmys/p/9912154.html