月光博客 » 网站建设 » IIS网站服务器性能优化指南

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

  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,如下图所示。

YSlow

  其中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压缩”框中选中“压缩静态文件”,“临时目录”建议单独设置另一个盘的目录下。

启用Gzip压缩

  之后,IIS管理器中,右击“Web服务扩展”->“增加一个新的Web服务扩展”,在“扩展名”中输入“HTTPCompression”,添加“要求的文件”为C:\Windows\system32\inetsrv\gzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中“设置扩展状态为允许”。

启用Gzip压缩

  最后,使用文本编辑器打开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的评分,总体来说性能提升了不少。对于最终用户来说,也会明显感受到访问网站速度变快了很多,网站的浏览体验得到了较好的提升。

  参考书籍:高性能网站建设指南 —— 电子工业出版社出版

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

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    xug12345   说道:
    今天我连不上google reader了,还有人有同样问题吗?
    支持(18反对(5回复
  1. 2
    bwskyer   说道:
    学习了...
    支持(19反对(7回复
  1. 3
    cymbi   说道:
    看不懂,不盲目发言。
    支持(16反对(6回复
  1. 4
    育儿网   说道:
    谢分享..............
    支持(16反对(7回复
  1. 5
    乐者为王   说道:
    月光终于又发技术文章了,这个实用我喜欢
    支持(11反对(4回复
  1. 6
    LukeLiu   说道:
    技术文章,详细认真,好!
    支持(15反对(10回复
  1. 7
    frtime   说道:
    不知道月光没有有过seo的经验分享
    支持(9反对(5回复
  1. 8
    前三   说道:
    地板前来祝贺
    支持(10反对(7回复
  1. 9
    响石潭   说道:
    发现Google PR 今日更新
    发现Google PR 今日更新
    发现Google PR 今日更新
    发现Google PR 今日更新
    支持(9反对(6回复
  1. 10
    漢文溪   说道:
    学习一下 哈
    支持(11反对(9回复
  1. 11
    taotao   说道:
    收藏了。谢谢。
    支持(11反对(9回复
  1. 12
    highflyer   说道:
    路过~~~~~~
    支持(8反对(6回复
  1. 13
    哆啦B梦   说道:
    为什么我iis7+php总是10几分钟停一下呢
    支持(10反对(8回复
  1. 14
    Sean   说道:
    yslow确实挺好用的。
    我用了那个 确实在速度上进步不少!
    支持(7反对(5回复
  1. 15
    FovWeb   说道:
    Fov Web拓展你我的视野,关注互联网和网站相关技术与运营。
    月光兄,也看这本书了呀
    我这有些优化方面的东西:http://www.fovweb.com/optimizer/
    《高性能网站建设指南》
    http://www.fovweb.com/reading/recommend-reading-high-performance-web-site-building-guide/
    支持(8反对(7回复
  1. 16
    2323   说道:
    Fov Web拓展你我的视野,关注互联网和网站相关技术与运营。
    月光兄,也看这本书了呀
    支持(7反对(6回复
  1. 17
    hiller2898   说道:
    技术好啊,技术成就一切。
    支持(10反对(10回复
  1. 18
    三脚猫   说道:
    猫过留印~

    学习了。。。
    支持(13反对(13回复
  1. 19
    周錫瑋   说道:
    感謝提供這麼有用的資訊
    支持(8反对(8回复
  1. 20
    蓝天博客   说道:
    技术文章,看不懂,飘过
    支持(9反对(10回复
  1. 21
    独行剑客   说道:
    话说我自己机器上的iis架设老是有点小问题
    支持(4反对(5回复
  1. 22
    KWL   说道:
    没有服务器...
    支持(7反对(8回复
  1. 23
    grnnet   说道:
    不错的文章,很好,学习了。谢谢月光分享啊
    支持(8反对(10回复
  1. 24
    北风那个吹   说道:
    ^_^,月光这篇文章太值得学习了
    支持(5反对(7回复
  1. 25
    youjia   说道:
    呵呵.楼上说的不错哈...
    原创也要在真有技术特性上下功夫哈.
    支持(12反对(14回复
  1. 26
    vancl   说道:
    这里能学的东西还真不少!
    支持(9反对(11回复
  1. 27
    卢松松   说道:
    这是篇好文章 收藏了!
    支持(6反对(9回复
  1. 28
    高大哥的博客   说道:
    留个记号,仔细再研究。
    支持(4反对(7回复
  1. 29
    姬良   说道:
    挺难···
    还是初学··
    支持(8反对(12回复
  1. 30
    39md   说道:
    这篇还是比较有用的.
    支持(5反对(9回复
  1. 31
    牛逼一下   说道:
    技术文章。。。。。。。。。。
    支持(3反对(8回复
  1. 32
    zwwooooo   说道:
    虽然不架,但学习了
    213.223 于 2017/8/11 18:06:52 回复
    看看效果如123何在说
    支持(6反对(13回复
  1. 33
    园子   说道:
    学习了不少优化方面的知识

    以前从来没在意思 过IIS服务方面的优化

    谢谢月光
    支持(4反对(11回复
  1. 34
    yxix   说道:
    网页游戏论坛路过参观一下
    支持(3反对(12回复

发表留言