`

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

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

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

 

 

 

 

 

 

 

 

 

  • 大小: 56.6 KB
  • 大小: 48.9 KB
  • 大小: 35.9 KB
  • 大小: 23.8 KB
3
3
分享到:
评论

相关推荐

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

    但配置、优化IIS的性能,使得网站访问性能达到最优状态却不是一件简单的事情,这里我就介绍一下如何一步一步的优化你的IIS服务器。  服务器端环境,我们以Windows Server 2003的IIS6.0为例,客户端环境为Mozilla ...

    IIS 性能优化 服务器

    IIS性能优化 1、调整IIS高速缓存 HKEY_LOCAL_MACHINE SystemCurrentControlSetServicesInetInfoParametersMemoryCacheSize MemoryCacheSize的范围是从0道4GB,缺省值为3072000(3MB)。一般来说此值最小应设为服务器...

    Win2003 IIS6.0性能优化指南

    服务器配置 至强2.8G 内存512M SCSI硬盘 2块 (软镜像)系统 windows 2003现在挂了一个asp.net开发的网站 访问量不大 但是出现一个 问题就是每当服务器运行2-3天后 访问网站就特别慢 重启动服务器后就 正常了查看...

    企业网络服务器规划与管理.doc

    " " "4、(美)Sandra " " "K.Linux服务器性能调整.清华大学出版社.2009年9月. " " "5、黄骁.Windows Server " " "2008服务器配置与管理手册.海洋出版社.2009年11月. " " "6、IT同路人.Windows Server " " "2003...

    企业网络服务器规划与管理..doc

    " " "4、(美)Sandra " " "K.Linux服务器性能调整.清华大学出版社.2009年9月. " " "5、黄骁.Windows Server " " "2008服务器配置与管理手册.海洋出版社.2009年11月. " " "6、IT同路人.Windows Server " " "2003...

    企业网络服务器规划与管理(2).doc

    " " "4、(美)Sandra " " "K.Linux服务器性能调整.清华大学.2009年9月. " " "5、黄骁.Windows Server " " "2008服务器配置与管理手册.海洋.2009年11月. " " "6、IT同路人.Windows Server " " "2003服务器架设详解....

    企业网络服务器规划与管理(1).doc

    " " "4、(美)Sandra " " "K.Linux服务器性能调整.清华大学出版社.2009年9月. " " "5、黄骁.Windows Server " " "2008服务器配置与管理手册.海洋出版社.2009年11月. " " "6、IT同路人.Windows Server " " "2003...

    BEA WebLogic Server管理指南

    在现有基础设施中工作,如IIS和Apache 调整与配置不同参数以优化性能管理新的安全框架,包括授权.凭证映射器。判定器和密钥库本书详细介绍了当今领先的应用程序服务器WebLogic Server。从安装与工作负载管理到部署...

    Oracle数据库学习指南

    46. 在SQLPlus中insert进的都是中文的,为什么一存入服务器后,再select出的就是???了 47. 在客户端处理Oracle的数据行加锁问题 48. 怎样查看init_ora文件 49. 怎样快速查出Oracle 数据库中的锁等待 50. 怎样在...

    windows 2000 server资源大全(PDF)

    深入开发IIS 5本书深入探讨了IIS 5的新特性和体系结构,包括增强的管理、安全和应用的支持能力,并详细阐述如何从包括IIS 4.0在内的其他Web服务器向IIS 5进行设置、内容和应用程序的迁移,如何优化和调整IIS服务器,...

    asp.net知识库

    优化后的通用分页存储过程 sql语句 一些Select检索高级用法 SQL server 2005中新增的排序函数及应用 根据基本表结构及其数据生成 INSERT ... 的 SQL 简便的MS SQL 数据库 表内容 脚本 生成器 将表数据生成SQL脚本的...

Global site tag (gtag.js) - Google Analytics