序:关于Web性能优化的一些思考
日期:2011-11-22 15:20:32作者:QiuLiang | 

性能优化这个话题,基本上也算是老生常谈,目前各大技术媒体也对高性能、高并发web站点的架构、设计等,甚是追捧。圈子里面也是异常火热,各种招聘信息里也是对高级开发人员、架构师、开发经理等角色,要求具有海量数据处理能力、高并发系统设计经验。所以从市场的角度来看,具有一定的性能优化架构经验和技巧,还是比较不错的。

最近开始对之前的一个项目进行性能优化,在正式开始之前,花时间整理了一些performance需要考虑的点,如下图所示:

性能优化

当然,每个点如果展开去说,都可以花很大的篇幅来讲,这个图在这里是起到提纲挈领的作用,后续争取把相对较为重要的方面,总结成博文,供大家参考。

下面的目录是用MinderJet生成的:

性能优化
1 前端优化
1.1 HTTP请求优化
1.1.1 避免错误链接404
1.1.2 静态资源本地缓存
1.1.3 使用子域名来增加静态文件并行加载连接速度
1.1.4 最大限度减少HTTP Request
1.1.5 CSS Split
1.1.6 最小化JS和CSS文件,可使用第三方压缩工具
1.1.7 合并JS和CSS文件
1.1.8 合理配置ETags
1.1.9 最小化favicon.ico,并缓存
1.2 CSS性能优化
1.2.1 样式表应该尽量放在head区域
1.2.2 避免CSS样式表达式
1.3 JavaScript优化
1.3.1 使用JS的Lazy Load技术
1.3.2 JS文件应该尽量放在页面底部
1.3.3 避免重复引用同一个JS脚本
1.3.4 Ajax方法尽量使用GET方式
1.3.5 jQuery
1.3.5.1 合理使用选择器
1.3.5.2 合理使用链式表达式
2 数据库优化
2.1 SQL语句优化
2.2 适当的索引
2.3 库/表的拆分
2.3.1 水平拆分
2.3.2 垂直拆分
2.4 最小化数据库查询
3 代码优化
3.1 ASP.NET MVC
3.1.1 View中避免包含大的代码块
3.1.2 View里面尽可能写纯HTML
3.1.3 最小化View Model
3.1.4 合理使用Output Cache
3.2 合理使用多线程降低并发压力
3.3 选用适当的数据集合
3.4 减少不必要的对象分配
3.5 了解字符串驻留池机制
3.6 尽量减少装/拆箱操作
3.7 合理使用反射
3.8 尽量减少数据库连接次数
3.9 避免字符串和值类型直接相加,应使用值类型ToString方法
3.10 Release版本禁用调试模式
3.11 逻辑算法优化
4 架构优化
4.1 分布式缓存
4.2 多Web Server负载
4.3 数据库读写分离
4.4 Nginx、squid反向代理
4.5 NoSQL技术
5 服务器配置优化
5.1 Windows Server
5.2 IIS
5.2.1 应用程序池设置
5.2.2 Http Log
5.3 SQL Server
6 硬件优化
7 工具
7.1 HttpWatch
7.2 FireBug
7.3 Fiddler
7.4 DotTrace
7.5 MvcMiniProfiler
7.6 SQL Profiler
7.7 YourKit Profiler
7.8 LogParser

Tags: 性能优化  高性能  web  profiler 

相关阅读

没有相关内容
已有 0 条评论,点击查看

评论:

姓名 *
Email
内容 *