Windows Server自带的Internet Information Server (iis)是设置网站服务器的常用工具,简单又麻烦。
初学者可以使用IIS建立一个像样的网站,但要配置和优化IIS的性能,使网站访问性能达到最佳状态,并不是一件简单的事情。在这里我将逐步介绍如何优化您的IIS服务器。
在服务器端环境,我们以Windows Server 2003的iis6.0为例,客户端环境为Mozilla firefox 3.0,安装了雅虎的YSlow扩展。
YSlow是雅虎开发者团队发布的基于Firebug的插件。用来分析网页,根据一些高性能网站的规则,对优化网页性能很有帮助,告诉你哪些部分影响了你的网页速度。
并告诉你如何基于一定的规则进行优化。我们对IIS的优化策略是基于YSlow的。
使用安装了YSlow的Firefox打开目标网站,然后点击YSlow图标,点击性能。
其中性能等级是YSlow对你网站的评级,A(100分)最高F最低,后面列出了如何修改。下面我以IIS 6.0为例介绍一下如何优化网站性能。
IIS网站服务器性能优化秘籍1:减少HTTP请求数量
这主要是修改网站代码,减少外部图片、CSS、JS等文件的数量,手动合并多个CSS/javascript文件。IIS不需要设置在那里。
IIS网站服务器性能优化秘籍2:使用CDN
对于小网站来说,这是免费的。当然有钱人也可以尝试一下,从技术上可以解决用户访问网站响应慢的问题。
IIS网站服务器性能优化秘籍3:启用内容过期
为静态文件启用内容过期可以提高访问性能。首先,网站的目录要合理划分,图片、CSS、JavaScript放在单独的目录下。然后,在IIS中,选择目录并单击属性-HTTP头以启用内容过期。
您可以选择30天后,以便用户的浏览器将当前日期与到期日期进行比较,以决定是显示缓存的页面还是显示从服务器请求的更新页面。因为图片、CSS、JS通常变化不大,基本都是从本地缓存中读取,从而加快显示速度。
IIS网站服务器性能优化秘籍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等已经被压缩的文件。
IIS网站服务器性能优化秘籍5:将样式文件放在头部
这是基本的HTML代码风格,将所有的CSS文件都放在HTML页面的头部。
IIS网站服务器性能优化秘籍6:将脚本文件放在尾部
这也是基本的HTML代码风格,将所有的JavaScript文件都放在HTML页面的尾部。
IIS网站服务器性能优化秘籍7:避免CSS表达式
这点很简单,因为大多数人从来不用CSS表达式。
IIS网站服务器性能优化秘籍8:使用外部的JavaScript和CSS
将所有的JavaScript和CSS都做成外部文件的形式进行引用,这主要是为了让这些文件可以被浏览器缓存起来,参见第三点的介绍。
IIS网站服务器性能优化秘籍9:减少DNS查询
域名的DNS查询会带来额外的访问开销,减少页面内文件的主机域名数量,一个页面的主机域名保持在2-4个以内,这样就不会降低页面的装入速度。
IIS网站服务器性能优化秘籍10:压缩JavaScript文件
压缩脚本文件,删除不必要的字符,可以改善加载时间,目前有很多JavaScript文件的压缩工具,我这里有一个GUI界面的JS压缩工具供下载。
IIS网站服务器性能优化秘籍11:避免重定向
网页的重定向会带来额外的运行开销,因此要避免页面进行重定向跳转操作。
IIS网站服务器性能优化秘籍12:删除重复脚本
一个页面两次包含同一个JavaScript文件会影响加载的性能,因此需要将重复的脚本文件删除。
IIS网站服务器性能优化秘籍13:配置ETag
这是一个令人迷惑的问题。理论上说将服务器的ETag删除会提高HTTP请求的性能,但是按照微软官方提供的修改方法配置IIS 6.0,并没有实际效果,最终我使用了一个remetag,
以IsapI的方式实现了删除ETag的功能。
IIS网站服务器性能优化秘籍总结
经过上面这些网站前端重构和WEB服务器的配置修改,我们的页面结构就变得更加规范,重构的页面大多都会取得不错的YSlow的评分,总体来说性能提升了不少。对于最终用户来说,
也会明显感受到访问网站速度变快了很多,网站的浏览体验得到了较好的提升。