欢迎光临

木子屋

标题: IIS网站服务器性能优化指南

作者: dnawo

日期: 2009-04-09 05:11 PM

分类: 服务器

内容: Windows Server自带的互联网信息服务器(Internet Information Server，IIS)是架设网站服务器的常用工具，它是一个既简单而又麻烦的东西，新手都可以使用IIS架设一个像模像样的Web站点来，但配置、优化IIS的性能，使得网站访问性能达到最优状态却不是一件简单的事情，这里我就介绍一下如何一步一步的优化你的IIS服务器。
服务器端环境，我们以Windows Server 2003的IIS6.0为例，客户端环境为Mozilla Firefox 3.0，同时安装Yahoo的YSlow扩展。
YSlow是Yahoo开发者团队发布的一款基于Firebug的插件。用于分析网页，并根据一些高性能网站的规则进行相应的评级打分，对于网页性能优化有很好的帮助作用，告诉你那些部分影响了你的网页速度，并告诉你如何基于某些规则而进行优化。我们对于IIS的优化策略就是基于YSlow的。
使用安装了YSlow的Firefox打开目标网站，然后点击YSlow图标，点击Performance，如下图所示。
其中Performance Grade为YSlow对你网站的评级，A(100分)为最高，F为最低，后面列出如何进行修改，下面我以IIS 6.0为例介绍一下如何进行优化网站性能。
1、减少HTTP请求数量
这主要是修改网站代码，减少外部图片、CSS、JS等文件数量，手动合并多个CSS/JavaScript文件。IIS那里不用设置。
2、使用CDN
对于小网站来说，这个就免了吧。当然有钱人可以试试，可以从技术上解决用户访问网站响应速度慢的问题。
3、启用内容过期
对于静态文件启用内容过期可以提高访问性能。首先网站的目录要划分合理，图片、CSS、JavaScript均放在单独目录下，然后在IIS中选择目录，点属性-HTTP头，启用内容过期，可以选择30天后过去，这样，用户浏览器将比较当前日期和截止日期，以便决定是显示缓存页还是从服务器请求更新的页，由于图片、CSS、JS通常变化较少，因此基本上都从本地缓存读取，从而加快显示速度。
4、启用Gzip压缩
HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如Gzip等压缩HTML、JavaScript或 CSS文件。压缩的最大好处就是降低了网络传输的数据量，从而提高客户端浏览器的访问速度。
使用方法是，右击"网站"->"属性"，选择"服务"。在"HTTP压缩"框中选中"压缩静态文件"，"临时目录"建议单独设置另一个盘的目录下。
之后，IIS管理器中，右击"Web服务扩展"->"增加一个新的Web服务扩展"，在"扩展名"中输入"HTTPCompression"，添加"要求的文件"为C:\WINDOWS\system32\inetsrv\gzip.dll，其中Windows系统目录根据您的安装可能有所不同，选中"设置扩展状态为允许"。
最后，使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml，在HcFileExtensions中增加需要压缩的静态文件后缀名，默认为HTML和TXT文件，建议再添加上js、css等，不要添加图片或ZIP等已经被压缩的文件。
5、将样式文件放在头部
这是基本的HTML代码风格，将所有的CSS文件都放在HTML页面的头部。
6、将脚本文件放在尾部
这也是基本的HTML代码风格，将所有的JavaScript文件都放在HTML页面的尾部。
7、避免CSS表达式
这点很简单，因为大多数人从来不用CSS表达式。
8、使用外部的JavaScript和CSS
将所有的JavaScript和CSS都做成外部文件的形式进行引用，这主要是为了让这些文件可以被浏览器缓存起来，参见第三点的介绍。
9、减少DNS查询
域名的DNS查询会带来额外的访问开销，减少页面内文件的主机域名数量，一个页面的主机域名保持在2-4个以内，这样就不会降低页面的装入速度。
10、压缩JavaScript文件
压缩脚本文件，删除不必要的字符，可以改善加载时间，目前有很多JavaScript文件的压缩工具，我这里有一个GUI界面的JS压缩工具供下载。
11、避免重定向
网页的重定向会带来额外的运行开销，因此要避免页面进行重定向跳转操作。
12、删除重复脚本
一个页面两次包含同一个JavaScript文件会影响加载的性能，因此需要将重复的脚本文件删除。
13、配置ETag
这是一个令人迷惑的问题。理论上说将服务器的ETag删除会提高HTTP请求的性能，但是按照微软官方提供的修改方法配置IIS 6.0，并没有实际效果，最终我使用了一个第三方的DLL文件，以ISAPI的方式实现了删除ETag的功能。
经过上面这些网站前端重构和WEB服务器的配置修改，我们的页面结构就变得更加规范，重构的页面大多都会取得不错的YSlow的评分，总体来说性能提升了不少。对于最终用户来说，也会明显感受到访问网站速度变快了很多，网站的浏览体验得到了较好的提升。
参考书籍：高性能网站建设指南 —— 电子工业出版社出版

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.609 ms

返回

标题: IIS网站服务器性能优化指南

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.609 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.625 ms

返回