IIS服务器与web.config配置优化指南

所属分类: 网站运营 / 网站优化 阅读数: 66
收藏 0 赞 0 分享
1.修改IIS最大工作进程数
a. 请考虑以下几点:
1.每一个工作进程都会消耗系统资源和CPU占用率;太多的工作进程会导致系统资源和CPU利用率的急剧消耗;
2.每一个工作进程都具有自己的状态数据,如果Web应用程序依赖于工作进程保存状态数据,那么可能不支持使用多个工作进程。
3. 成资源竞争,让多个工作进程运行同一个应用程序会造成资源竞争
b. 修改ISS最大工作进程数提高该应用程序池处理请求的性能
1.在IIS 6.0的Web园(Web Garden)中,指定用于某个应用程序池的工作进程的数量就可以提高该应用程序池处理请求的性能。当服务器的负载较小,不需要额外的工作进程时,IIS 6.0在一定的时间后(默认20分钟,可配置)自动缩减实际的工作进程数量;如果负载变大,需要额外的工作进程,IIS 6.0再次增加工作进程数量。这一切操作都自动进行,不需要管理员干预。
2.修改方法如下
修改服务器.net framework的machine.config的配置
目录:C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\CONFIG\machine.config
将其中的“processModel”节点的“allowDefinition”值设置为“Everywhere”
修改服务器中的iis最大工作进程数:
方法:右击iis应用程序池 --> 属性 -> “性能”选项卡 -> web园 -> 最大工作进程数
注:经测试验证,服务器为32(16*2)核32G内存时,设置为5性能最优。
(PS: processModel 元素(ASP.NET 设置架构) 元素配置用于服务器(包括服务器上的所有 ASP.NET 应用程序)的处理模型。因此,processModel 设置只能放在 Machine.config 文件中,而且不能被任何 Web.config 文件中的设置重写。 )
2.取消IIS的web访问记录
a. 关闭IIS访问记录可以提升web性能
1.IIS6.0默认开启对于web的IIS访问记录。当开启记录功能后,IIS会事无巨细地忠实记录所有的IIS访问记录。这些记录文件的内容是非常庞杂的,比如访问时间、客户端IP、从哪个链接访问、 Cookies等,另外还包括 Method(方法), UserAgent(用户代理)等。
这些记录不但占用大量的磁盘空间还大大地影响了web服务器的性能。有人做过评测,停止IIS访问记录可以提升5%到8%的web性能。
2.方法:打开IIS管理器,定位到具体的web站点,右键点击选择“属性”,在“主目录”选项卡下取消对“记录访问”的勾选即可
Web.config配置优化(生产环境)
1.去除无用HttpModules
d. 并不是所有的Modules都是必需的,去除不用的HttpModules可以提高请求速度
1.asp.net默认的HttpModules管理请求的管线控制每一个请求。
例如:SessionStateModule拦截每一个请求,分析session cookie 来加载HttpContext中的合适的session.但是并不是所有的Modules都是必需的,比如:如果你不用membership的话,就不用配置FormsAuthentication模块;如果你不用windows身份验证就不用配置WindowsAuthentication,这些模块只是包含在管线里面,为每一个请求执行一些并不是必须的代码。
2.默认的模块定义在machine.config中(在网站的web.config中设置表示当前网站有效)($WINDOWS$\Microsoft.NET\Framework\$VERSION$\CONFIG)。如果不需要这些管线的话,配置如下:

复制代码
代码如下:

<httpModules>
<!--去除不必要的节点,提高请求速度-->
<remove name="OutputCache" />
<remove name="Session" />
<remove name="WindowsAuthentication" />
<remove name="FormsAuthentication" />
<remove name="PassportAuthentication" />
<remove name="RoleManager" />
<remove name="UrlAuthorization" />
<remove name="FileAuthorization" />
<remove name="AnonymousIdentification" />
<remove name="Profile" />
</httpModules>

2. 关闭页面级无用机制
Web.config中的<pages>节点配置全局定义页特定设置,如配置文件范围内的页和控件的 ASP.NET 指令。默认enableViewState属性为“true”,即开启视图,如果不使用这个机制就可以设置为“false”。
默认autoEventWireup属性为“true”,即开启页事件,如果不使用这个机制就可以设置为“false”。
默认buffer属性为“true”,即开启 HTTP 响应缓冲。
默认enableViewStateMac属性为“false”,开启对页的视图状态运行计算机身份验证检查 (MAC),以放置用户篡改,如果设置为true,将会引起性能的降低。
默认validateRequest默认为true,开启验证用户输入中有跨站点脚本攻击和SQL注入式漏洞攻击,,如果出现匹配情况就会发 HttpRequestValidationException 异常。
3. 将CustomError设置为非Off状态
Web.config中的<customErrors>节点用于定义一些自定义错误信息的信息。此节点有Mode和defaultRedirect两个属性,其中defaultRedirect属性是一个可选属性,表示应用程序发生错误时重定向到的默认URL,如果没有指定该属性则显示一般性错误。Mode属性是一个必选属性,它有三个可能值,它们所代表的意义分别如下:
Mode 说明
On 表示在本地和远程用户都会看到自定义错误信息。
Off 禁用自定义错误信息,本地和远程用户都会看到详细的错误信息。
RemoteOnly 表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。
这里有必要说明一下本地用户和远程用户的概念。当我们访问asp.net应用程时所使用的机器和发布asp.net应用程序所使用的机器为同一台机器时成为本地用户,反之则称之为远程用户。在开发调试阶段为了便于查找错误Mode属性建议设置为Off,而在部署阶段应将Mode属性设置为On或者RemoteOnly,以避免这些详细的错误信息暴露了程序代码细节从而引来黑客的入侵。
配置如下

复制代码
代码如下:

<customErrors mode=" On " defaultRedirect="Error.html"/>

4. 禁用调试
Web.config中的<compilation>节点配置 ASP.NET 使用的所有编译设置。默认的debug属性为“true”,即允许调试,在开发阶段这样配置没有问题。但正式部署上线后,这样会影响支撑接口的性能,所以在程序编译完成上线之后应将其设为“false”。
配置如下

复制代码
代码如下:

<compilation debug="false" />

5. 连接并发配置
连接并发数限制是指对于同一个ip对同一个domain发起的最大连接数。其实在大多数微软的产品或组件中都存在这个限制,一般这个数值是2/4个,也就是说在默认情况下,对于同一个ip访问同一个domain同时最多有2个连接处于建立状态。默认是2,这个值太低了。这意味着每一个IP最多只能有两个请求到你的网站,这样会造成请求拥堵。asp.net中connectionManagement节点可以设置单个ip对同某个domain发起的最大连接数。
配置如下

复制代码
代码如下:

<system.net>
<connectionManagement>
<add address="*" maxconnection="100" />
</connectionManagement>
</system.net>

address代表针对哪个domain,maxconnection代表最大连接数。
6. 去掉http头信息中的ASP.NET 版本标头
enableVersonHeader:指定 ASP.NET 是否应输出版本标头。使用该属性来确定当前使用的 ASP.NET 版本。对于生产环境,该属性不是必需的,可以禁用。
配置示例:

复制代码
代码如下:

<httpRuntime enableVersionHeader="false" />
更多精彩内容其他人还在看

快速更新网站内容的几种方法

自从有了CMS现在做个网站是件非常简单的事,网站的运作的中心是日常的网站内容更新和长期网站推广。其中网站内容的快速更新是重中之重,今天笔者来分享一下快速更新网站内容的几种方法。希望能为站长们更新网站内容提供一些帮助。 1、内容采集 内容采集是最直接的方法,采
收藏 0 赞 0 分享

Google给广大网站的搜索引擎优化(SEO)建议

为了把Google中文搜索本土化Google官方也确实做了大量的工作,其中在(网站管理员/站长)这块文章丰富了不少,作为营销爱好者笔者经常关注拜读之余也摘录一些自认为比较有价值的内容供大家参考。今天和大家分享的是:Google给广大网站的搜索引擎优化(SEO)建议。文章内容如下
收藏 0 赞 0 分享

创建一个方便Google处理的网站的详细建议

这又是一篇来自Google的文章,再继续发下去很多朋友会问我为什么又转搜索引擎的东西了。其实个人认为Google网站管理员/站长帮助里头还是很多精华的,例如:今天将要转载的这个(创建一个方便Google处理的网站的详细建议)就写得非常好。废话不多说了,下面来分享下创建一个方
收藏 0 赞 0 分享

排除法解决网站在搜索过程中表现不佳的现象

搜索引擎排名机制异常的复杂和严密,直接导致很多网站内容发布出来在搜索引擎的搜索结果表现不佳的现象,种现象一直困扰着很多站长。今天笔者给大家介绍一种比较有效的解决方法:排除法解决网站在搜索过程中表现不佳的现象。 这个排除法的步骤如下: 一、查看您的网站是否被
收藏 0 赞 0 分享

百度 google分别喜欢什么样的友情链接

友情链接对搜索引擎的重要性我就不说了,你去看下只要是做优化的网站几乎都是有友情链接。我发现一些做seo的公司,给客户优化网站的时候纯属就是靠友情链接,雇专门的友情链接专员来进行优化。但是这样做你真的有效果吗,我看到过一些网站,页面上几乎三分之一的页面是友情链
收藏 0 赞 0 分享

浅析网站首页的广告形式

一般而言,由于互联网用户在刚登录某网站时,会看到各种各样的广告。这些广告杂乱无章,因此,大多数的标语用户很容易看过就忘。行为追踪就是防止这种情况发生的方法之一,从而使得广告与用户的生活和目前的精神状态相关的机率更大。或者,您也可以采取不那么敏感的方式使广
收藏 0 赞 0 分享

友情连接与SEO的关系

外连的多少是SE判断一个网站质量的好坏的最基本的标准,谷歌的PR值,百度的超连分析技术等都是以连接网页的数量的多少来决定一个网页的质量的。相对,网站做友情连接,也是以这点为出发点的。但是,友情连接质量的高低往往会起到影响网站排名的关键性作用。因次,我们必须在
收藏 0 赞 0 分享

一个网站的好坏是网民说了算还是PR说了算

大概每一季度的PR更新,都能在站长界引起一阵不大不小的地震,谷歌在2009年端午节这一天,更新了其旗下品牌的PR值,让很多站长觉得这是谷歌在中国的传统节日端午送上的大礼。 谷歌也真够有心的了,偏偏在端午那一天与大家“意思意思”,PR值,对于广大的站长确
收藏 0 赞 0 分享

网站成功的必备条件分析小结

托尔斯泰有句名言:“幸福的家庭都是相似的,不幸的家庭各有各的不幸”。引申到建站方面,即“成功的网站都是相似的,失意的网站各有各的不幸”。 那么,网站的成功,都有哪些相似之处呢?网站成功需要哪些重要因素呢? 有人会说技术最重要
收藏 0 赞 0 分享

网站运营推广中的内容策略浅谈

一、提升流量的内容策略 提升流量(PV)的关键是什么呢?很简单,让用户大量点击网站的页面,阅读网站的内容。浏览的页面多了,流量自然就上去了。那如何才能增加用户的点击行为呢? 1、根据用户喜好,增加相应的文章数量。注意,这里说的文章,是指用户喜欢的内容。 2
收藏 0 赞 0 分享
查看更多