一 性能即是功能:
在设计过程中始终将性能放在第一位
设计之初便对性能进行规划切勿将“添加性能”作为后续任务!
一旦项目编写完成,添加性能就会步履维艰在整个项目过程中进行衡量与反复测试
性能并不是一蹴而就的反复测试调查是最有效的方法
二 评判 web 性能:
客户端响应时间
定义:在点击远程的站点后浏览器上显示 web 应用程序的响应速度有多么“快”
“快“是相对的,要对具体的应用进行量化
通过 TTFB(第一个字节的响应时间)进行衡量
通过 TTLB(最后一个字节的响应时间)进行衡量
影响客户对应用的满意度
三 评判 web 性能(续):
服务器的吞吐量
定义:一个服务器在一定的配置下能够处理多少客户端请求
以每秒能够处理的请求数进行衡量
影响您需要购买的服务器的配置及需要的数量
可以作为系统升级的重要依据
四 衡量 web 性能的方法:
衡量 web 服务器性能的唯一方式是对服务器进行压力测试 (stress testing)自动压力测试工具是衡量的唯一方式浏览器的点击刷新并不能作为衡量手段……
收集多个典型应用场景方案:在应用程序执行过程中模拟典型事务处理的过程衡量常用的单个页面的性能(热点)确定各场景及各页面的使用率
通过测试找出系统的性能指标:服务器的处理能力确定适合可接受 TTFB/TTLB 响应时间范围的可支持的最大客户端负载(并发用户)
五 性能测试工具:
微软 Web Application Stress Tool可免费进行下载( 10Mb ),适用于 XP、2000、2003微软应用程序中心测试工具 (ACT)作为 VS.NET Enterprise 的一部分提供给客户启用更丰富的脚本及报告
六 主要的性能观测项PerfMon Counters:
Processor, CPU % UtilizationLow numbers = blocking or lock contentionASP.NET, Requests In Application Queue出现线型增长时表示服务器已达满负荷ASP.NET Applications, Requests/Sec动态吞吐量(应保持一致—无大的波动)ASP.NET Application, Errors Total预示着功能级错误 (应为 0)ASP.NET App/Worker Process Restarts表示有严重的编程错误 (应为0)
七 压力测试环境的注意事项:
在独立于 Web 服务器及应用服务器的机器上运行压力测试工具否则工具将超出服务器 CPU 的最大范围对于繁重的负载使用多个客户端机器特定用于衡量 56k 拨号消除应用之外的任何瓶颈网络,客户端等