基于微软产品构建的大型网站
微软产品最重要的一个特点是即学即用。构建大型网站的产品结合现在应该是:
操作系统:Win2003 数据库系统:SQLserver2005 Web:IIS6.0+Asp.net2.0
团队协作开发工具:VSS 开发环境:vs2005
先说SQLserver2005,SQLserver2005是美国人设计、印度人使用VS2003编写出来的。经过行业内人士评测,其性能已经不亚于Oracle9i。其中我所知道的中国电信和中国移动的几个大项目都采用Sqlserver这个产品。大型大型,就意味着信息量大,数据量大,访问量大。首先在数据库结构和设计上要灵活运用这些方法。
分区:分区的威力是可想而知的,但在决定是否实现分区时,您应考虑您的方案是否存在这种负担,分区增加了实现对象的管理费用和复杂性,这可能是得不偿失的。尤其是,您可能不需要为较小的表或目前满足性能和维护要求的表分区。
冗余:冗余的目的是用以减少统计意义上的冗余。
索引:为查询提供导航,快速准确定位。好比为一本书创建目录一样。
全文索引:全文索引用来快速地寻找那些具有特定值的记录
再说Asp.net2.0,严格来说不是Asp.net1.x的升级版,是改改。功能超级的强大了。尤其是ADO.net2.0已经不用再区分什么Sqlserver和oracle了,现在通用。ADO.net是什么东西?有个老师是这样的打比方:水库->水管->水龙头->水盆。
水库就是数据库,水管水龙头水盆就是ADO.net。使用ADO.net的人都知道有三道工序的。首先建立数据库链接-铺水管道,再执行命令读写数据-打开水龙头,最后得到数据给DataTable-水进入水盆。
缓存技术:网站一般都是由数据库驱动的Web应用程序,如果要改善其性能,使用缓存技术是最好的方法。缓存分有页面缓存、页面部份缓存、应用程序数据缓存等。之前1.X版本的缓存有一个不太容易克服的缺点,就是数据过期的问题。比如股票价格、拍卖出价之类的信息,显示的数据稍有过期那都是不可接受的。Asp.net2.0完全使用消息机制更新数据克服了这些问题了。网站运行速度慢主要是在数据库与Web应用程序打交道的这一段时间内慢。经过测试,使用缓存技术后,这个地方的效率可以提高到3倍速以上。
最后再说Win2003,用它来当作操作系统,一定要优化。关闭众多不必要的服务,合理设计一些服务的运行参数。优化之前的win2003和优化之后的win2003性能差别是2倍的关系。
源地址:http://blog.sina.com.cn/u/4909f90f010006k9
欢迎指正扔石头。同时在其它影响网站性能方面的技术欢迎大家继续探讨。