博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

.NET性能要素

Posted on 2012-11-27 17:30  淡如水wp  阅读(692)  评论(2编辑  收藏  举报

一、性能衡量要素

  • CPU使用率(百分比)
  • 物理/虚拟内存使用量(KB,MB,GB)
  • 缓存命中率(次数,率/每秒)
  • 页面错误率(次数,率/每秒)
  • 数据库存储时间(率/每秒)
  • 内存分配(字节数,对象数,率/每秒)
  • 执行时间(字节数,对象数,率/每秒)
  • 网络操作量(次数,率/每秒)
  • 硬盘操作量(次数,率/每秒)
  • 响应时间(毫秒)
  • 垃圾回收(次数,率/每秒,花费的时间)
  • 异常(次数,率/每秒)
  • 启动时间(毫秒)
  • 并发冲突 (次数,率/每秒)

二、不同场景下的看重因素

  客户端程序:启动时间,内存使用量,CPU使用率。

  服务端程序:CPU使用率,缓存命中率,并发冲突,内存分配,垃圾回收。

  WEB应用:内存使用量,数据库存储时间,网络和硬盘操作,响应时间。

三、在什么时候考虑性能的事?

  1. 需求收集阶段,考虑性能目标。
  2. 架构阶段,提炼性能因子,冻结性能目标。
  3. 开发阶段,多次在原型代码或部分已完成的功能上进行性能测试,检验是否达到性能目标。
  4. 测试阶段,用负载测试和性能测试检验是否达到性能目标。
  5. 之后的开发和维护阶段,每个版本都进行性能测试和回归性能测试。

四、如何操作?

  花点时间做一个自动化性能测试工具,搭建一个独立的测试环境,保证测试结果。