摘自: http://www.3lian.com/edu/2012/11-13/43890.html

  1. .修改IIS最大工作进程数
  2.  
  3. a. 请考虑以下几点:
  4.  
  5. .每一个工作进程都会消耗系统资源和CPU占用率;太多的工作进程会导致系统资源和CPU利用率的急剧消耗;
  6. .每一个工作进程都具有自己的状态数据,如果Web应用程序依赖于工作进程保存状态数据,那么可能不支持使用多个工作进程。
  7. . 成资源竞争,让多个工作进程运行同一个应用程序会造成资源竞争
  8. b. 修改ISS最大工作进程数提高该应用程序池处理请求的性能
  9. .在IIS .0Web园(Web Garden)中,指定用于某个应用程序池的工作进程的数量就可以提高该应用程序池处理请求的性能。当服务器的负载较小,不需要额外的工作进程时,IIS .0在一定的时间后(默认20分钟,可配置)自动缩减实际的工作进程数量;如果负载变大,需要额外的工作进程,IIS .0再次增加工作进程数量。这一切操作都自动进行,不需要管理员干预。
  10. .修改方法如下:
  11. 修改服务器.net frameworkmachine.config的配置
  12. 目录:C:WINDOWSMicrosoft.NETFramework64v2..50727CONFIGmachine.config
  13. 将其中的“processModel”节点的“allowDefinition”值设置为“Everywhere
  14. 修改服务器中的iis最大工作进程数:
  15. 方法:右击iis应用程序池 --> 属性 -> “性能”选项卡 -> web -> 最大工作进程数
  16. 注:经测试验证,服务器为32(*)核32G内存时,设置为5性能最优。
  17. (PS: processModel 元素(ASP.NET 设置架构) 元素配置用于服务器(包括服务器上的所有 ASP.NET 应用程序)的处理模型。因此,processModel 设置只能放在 Machine.config 文件中,而且不能被任何 Web.config 文件中的设置重写。 )
  18. .取消IISweb访问记录
  19. a. 关闭IIS访问记录可以提升web性能
  20. .IIS6.0默认开启对于webIIS访问记录。当开启记录功能后,IIS会事无巨细地忠实记录所有的IIS访问记录。这些记录文件的内容是非常庞杂的,比如访问时间、客户端IP、从哪个链接访问、 Cookies等,另外还包括 Method(方法), UserAgent(用户代理)等。
  21. 这些记录不但占用大量的磁盘空间还大大地影响了web服务器的性能。有人做过评测,停止IIS访问记录可以提升5%到8%的web性能。
  22. .方法:打开IIS管理器,定位到具体的web站点,右键点击选择“属性”,在“主目录”选项卡下取消对“记录访问”的勾选即可
  23. Web.config配置优化(生产环境)
  24. .去除无用HttpModules
  25. d. 并不是所有的Modules都是必需的,去除不用的HttpModules可以提高请求速度
  26. .asp.net默认的HttpModules管理请求的管线控制每一个请求。
  27. 例如:SessionStateModule拦截每一个请求,分析session cookie 来加载HttpContext中的合适的session.但是并不是所有的Modules都是必需的,比如:如果你不用membership的话,就不用配置FormsAuthentication模块;如果你不用windows身份验证就不用配置WindowsAuthentication,这些模块只是包含在管线里面,为每一个请求执行一些并不是必须的代码。
  28. .默认的模块定义在machine.config中(在网站的web.config中设置表示当前网站有效)($WINDOWS$Microsoft.NETFramework$VERSION$CONFIG)。如果不需要这些管线的话,配置如下:
  29.  
  30. 代码如下:
  31. <httpModules>
  32. <!--去除不必要的节点,提高请求速度-->
  33. <remove name="OutputCache" />
  34. <remove name="Session" />
  35. <remove name="WindowsAuthentication" />
  36. <remove name="FormsAuthentication" />
  37. <remove name="PassportAuthentication" />
  38. <remove name="RoleManager" />
  39. <remove name="UrlAuthorization" />
  40. <remove name="FileAuthorization" />
  41. <remove name="AnonymousIdentification" />
  42. <remove name="Profile" />
  43. </httpModules>
  44. . 关闭页面级无用机制
  45. Web.config中的<pages>节点配置全局定义页特定设置,如配置文件范围内的页和控件的 ASP.NET 指令。默认enableViewState属性为“true”,即开启视图,如果不使用这个机制就可以设置为“false”。
  46. 默认autoEventWireup属性为“true”,即开启页事件,如果不使用这个机制就可以设置为“false”。
  47. 默认buffer属性为“true”,即开启 HTTP 响应缓冲。
  48. 默认enableViewStateMac属性为“false”,开启对页的视图状态运行计算机身份验证检查 (MAC),以放置用户篡改,如果设置为true,将会引起性能的降低。
  49. 默认validateRequest默认为true,开启验证用户输入中有跨站点脚本攻击和SQL注入式漏洞攻击,,如果出现匹配情况就会发 HttpRequestValidationException 异常。
  50. . CustomError设置为非Off状态
  51. Web.config中的<customErrors>节点用于定义一些自定义错误信息的信息。此节点有ModedefaultRedirect两个属性,其中defaultRedirect属性是一个可选属性,表示应用程序发生错误时重定向到的默认URL,如果没有指定该属性则显示一般性错误。Mode属性是一个必选属性,它有三个可能值,它们所代表的意义分别如下:
  52. Mode 说明
  53. On 表示在本地和远程用户都会看到自定义错误信息。
  54. Off 禁用自定义错误信息,本地和远程用户都会看到详细的错误信息。
  55. RemoteOnly 表示本地用户将看到详细错误信息,而远程用户将会看到自定义错误信息。
  56. 这里有必要说明一下本地用户和远程用户的概念。当我们访问asp.net应用程时所使用的机器和发布asp.net应用程序所使用的机器为同一台机器时成为本地用户,反之则称之为远程用户。在开发调试阶段为了便于查找错误Mode属性建议设置为Off,而在部署阶段应将Mode属性设置为On或者RemoteOnly,以避免这些详细的错误信息暴露了程序代码细节从而引来黑客的入侵。
  57. 配置如下:
  58.  
  59. 代码如下:
  60. <customErrors mode=" On " defaultRedirect="Error.html"/>
  61. . 禁用调试
  62. Web.config中的<compilation>节点配置 ASP.NET 使用的所有编译设置。默认的debug属性为“true”,即允许调试,在开发阶段这样配置没有问题。但正式部署上线后,这样会影响支撑接口的性能,所以在程序编译完成上线之后应将其设为“false”。
  63. 配置如下:
  64.  
  65. 代码如下:
  66. <compilation debug="false" />
  67. . 连接并发配置
  68. 连接并发数限制是指对于同一个ip对同一个domain发起的最大连接数。其实在大多数微软的产品或组件中都存在这个限制,一般这个数值是2/4个,也就是说在默认情况下,对于同一个ip访问同一个domain同时最多有2个连接处于建立状态。默认是2,这个值太低了。这意味着每一个IP最多只能有两个请求到你的网站,这样会造成请求拥堵。asp.netconnectionManagement节点可以设置单个ip对同某个domain发起的最大连接数。
  69. 配置如下:
  70.  
  71. 代码如下:
  72. <system.net>
  73. <connectionManagement>
  74. <add address="*" maxconnection="" />
  75. </connectionManagement>
  76. </system.net>
  77. address代表针对哪个domainmaxconnection代表最大连接数。
  78. . 去掉http头信息中的ASP.NET 版本标头
  79. enableVersonHeader:指定 ASP.NET 是否应输出版本标头。使用该属性来确定当前使用的 ASP.NET 版本。对于生产环境,该属性不是必需的,可以禁用。
  80. 配置示例:
  81.  
  82. 代码如下:
  83. <httpRuntime enableVersionHeader="false" />

IIS服务器与web.config配置优化指南的更多相关文章

  1. (转)WEB服务器_IIS配置优化指南

    原文地址:https://www.cnblogs.com/heyuquan/p/deploy-iis-set-performance-guide.html 通常把站点发布到IIS上运行正常后,很少会去 ...

  2. 站点部署,IIS配置优化指南[转]

    站点部署,IIS配置优化指南 目录 一.       设置应用程序池默认设置 二.       常规设置 三.       优化回收策略 四.       性能 五.       IIS初始化(预加载 ...

  3. [转帖]站点部署,IIS配置优化指南

    站点部署,IIS配置优化指南 https://www.cnblogs.com/heyuquan/p/deploy-iis-set-performance-guide.html 挺值得学习的 毕竟之前很 ...

  4. 站点部署,IIS配置优化指南

    目录 一. 二. 三. 四. 五. 六. 七.       安全性 八.       多服务器IIS集中化管理web 通常把站点发布到IIS上运行正常后,很少会去考虑IIS提供的各种参数,如何配置才是 ...

  5. iis设置默认文档,提示web.config配置xml格式不正确

    网站上传后,配置默认文档,提示web.config配置xml格式不正确,几经尝试,发现是sqlserver密码中的“&”符号惹的祸,web.config文件中不能使用该字符.分享出来,大家遇到 ...

  6. web.config 配置

    一.认识Web.config文件   Web.config 文件是一个xml文本文件,它用来储存 asp.NET Web 应用程序的配置信息(如最常用的设置asp.NET Web 应用程序的身份验证方 ...

  7. web前端性能优化指南(转)

    web前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网络 ...

  8. web.config配置详细说明

    (一).Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明    特点:位于配置文件的顶部,包含在<configSections>标志中. 2.特定应 ...

  9. web前端性能优化指南

    web前端性能优化指南 web前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loadin ...

随机推荐

  1. 《逐梦旅程 WINDOWS游戏编程之从零开始》笔记4——Direct3D编程基础

    第11章 Direct3D编程基础 2D游戏是贴图的艺术,3D游戏是渲染的艺术.这句话在我学过了之前的GDI编程之后,前一句算是有所体会,现在是来理解后一句的时候了. 安装DirectX SDK配置啥 ...

  2. JS作用域和ASP(vbs)作用域比较

    一.js作用域,先上图: 以上代码执行的效果是,依次弹出 undefined, undefined, a, a,为什么是这样的结果啦?因为JS的作用域为链式作用域. 作用域链: 用VAR声明一个变量时 ...

  3. php5.5 安装

    1.php安装 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum install zl ...

  4. .Net WebAPI 增加Swagger

    第一部分:创建项目 选择Web/ASP.NET Web Application 这里我选择的是WebAPI,并且增加MVC和Web API,权限部分选择无权限 第二部分:增加EF连接 因为项目需要连接 ...

  5. 如何访问mvc 默认的错误页

    在ActionResult 中: public ActionResult Error() { return View("~/Views/Shared/Error.cshtml"); ...

  6. 并发系列5-大白话聊聊Java并发面试问题之微服务注册中心的读写锁优化【石杉的架构笔记】

  7. SQL查询中关键词的执行顺序

    写在前面:最近的工作主要是写SQL脚本,在编写过程中对SQL的执行和解析过程特别混乱不清,造成了想优化却无从下手.为此专门在网上找博文学习,并做了如下总结. 1.查询中常用到的关键词有: SELECT ...

  8. [BZOJ 2298] Problem A

    Link: BZOJ 2298 传送门 Solution: 可以将每个人的话转化为$[l[i],r[i]]$的人得分相同 用$map$记录认为$[i,j]$相同的人数,$pos[i][j]$记录以$i ...

  9. Codeforces 850B

    题意: 给出一个序列,两种操作: 1.删除一个数,代价为x 2.给一个数+1,代价为y 求最小代价,使这个序列不为空,且所有的数的gcd>1 n<=5e5,a[i]<=1e6 其实思 ...

  10. 【DFS】【打表】Lattice Animals

    [ZOJ2669]Lattice Animals Time Limit: 5 Seconds      Memory Limit: 32768 KB Lattice animal is a set o ...