ASP.
NETWeb开发性能优化
陈黎夫
涉及内容
性能思辨
问题在哪优化策略
常用技巧参考资料Q&;A
开始之前……
"美好"的希望"随意"的开始"离散"的方式"高昂"的成本………………我们需要"
系统"的分析——而"处理"的方法,尽人皆知
性能思辨-何谓性能
多久能够完成一个请求?需要
网络传输多少数据?同时允许多少个请求?需要客户端怎样的条件?……
为了实现这些,我要多少成本(金钱,时间,人力,幸福感……)
性能思辨-性能之平衡
平衡:
–单请求/多请求性能–初次/再次请求性能–单服务器/多服务器性能–性能/开发维护部署成本
矛盾?统一!
性能思辨-优化意义所在
优化的意义:
–对于商业主体:降低成本–对于个人:提高能力,获取满足感
需要优化吗?
–当前需求vs预期需求
需要考虑什么?
–优化什么?–何时优化?–怎样优化?
性能思辨-20/80原则
20%的
工作时间产生了80%的价值20%的产品功能带来80%的利润20%的书的篇幅涵盖了内容的80%20%的人作出了80%的决定20%的人吃掉了80%的食物20%的演讲内容产生了80%的影响……同样,20%的
设计实现决定了80%的性能
问题在哪-影响性能的方面
硬件
–服务器–客户端
网络
程序架构
问题在哪-初步检查
牢记20/80原则,先调查,再行动硬件&;网络
–参考同类型程序的服务器/客户端硬件配置–参考同类型程序的网络带宽配置
问题在哪-定位客户端
内存/CPU监视富客户端应用
JavaScript性能页面大小缓存策略页面布局
问题在哪-定位网络
Firebug&;Fiddler请求时间请求数量并发请求&;压力测试
问题在哪-定位服务器端
打开Trace把握全局
–
I/O操作
–performancemonitor
内存/CPU占用
–performancemonitor/taskmanager–dump&;windbg
数据库
查询 –SQLProfiler
优化策略-傻瓜做法
提升服务器硬件配置增加服务器提高网络带宽说服客户升级客户端——20%的时间解决了80%的问题
优化策略-客户端