北京 TechED 上,计划中的一个BOF(同类人)的主题是:高性能网站设计、开发、部署,下面是我初步整理需要讨论的主题:
网站是信息展示平台,它的核心职责是把信息展示出来。当然,他也有部分信息收集的职责,但信息收集,一般不会占很大的比重。
网站的信息,可以保存在文件、数据库、内存中。最常见的就是保存在数据库中,这样,最常见的网站架构就是把数据库中的数据作一定加工处理,然后展现给用户,如下图所示:
我们要提高网站性能,就需要根据实际情况,对上面的每一个步骤进行优化。
优化主要包括:
1、减少通讯量,比如网站与客户端之间传递的Html更小;对ASP.net中来说,ViewState优化就是这方面一个典型。各个应用层之间也是要减少数据通讯量的。
2、减少对某个操作的请求数,比如做定时更新缓存;这里除了ASP.net涉及到的几种缓存概念外,还有静态文件技术,数据库冗余设计,都是这方面的典型。
3、虽然你做了上面很多的减少操作,但是仍然发现难以满足性能需求,这时候就要考虑作集群。通过增加服务器来提供性能,集群条件下,如何设计一个网站,是一个复杂的内容。
对 IIS6+ASP.net+数据库 的环境来说,你还需要了解以下信息:
4、理解ASP.net的工作原理,让实际的执行操作性能更高;
ASP.NET工作模型
HttpHandler和HttpModule的使用
缓存设计要素
Web Control开发
ASP.net 2.0 中如何做性能优化
5、理解IIS6的特性,知道如何配置,可以发挥更大的性能优势;
比如 Web garden 等信息。
6、数据库,针对你用的数据库,做优化。
数据库通用的一些概念,比如那种环境适合使用存储过程?等等。
以上是准备在这个BOF中讨论的内容,欢迎大家参加,如果有感兴趣的内容也可以提出来。