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

IIS服务器与web.config配置优化指南,第1张

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

代码如下: <Modules><! 去除不必要的节点 提高请求速度 ><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 /></Modules>

关闭页面级无用机制 Web config中的<pages>节点配置全局定义页特定设置 如配置文件范围内的页和控件的 ASP NET 指令 默认enableViewState属性为“true” 即开启视图 如果不使用这个机制就可以设置为“false” 默认autoEventWireup属性为“true” 即开启页事件 如果不使用这个机制就可以设置为“false” 默认buffer属性为“true” 即开启 HTTP 响应缓冲 默认enableViewStateMac属性为“false” 开启对页的视图状态运行计算机身份验证检查 (MAC) 以放置用户篡改 如果设置为true 将会引起性能的降低 默认validateRequest默认为true 开启验证用户输入中有跨站点脚本攻击和SQL注入式漏洞攻击 如果出现匹配情况就会发 HttpRequestValidationException 异常 将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 "/>

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

代码如下: <pilation debug="false" />

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

代码如下: <system net><connectionManagement><add address="*" maxconnection=" " /></connectionManagement></system net>

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

lishixinzhi/Article/program/net/201311/14321

1、优化服务器硬件配置,提高服务器的性能;

2、优化服务器系统,提高服务器的运行效率;

3、优化游戏服务器,提高游戏服务器的运行效率;

4、优化游戏客户端,提高游戏客户端的运行效率;

5、优化游戏网络,提高游戏网络的运行效率;

6、优化游戏数据库,提高游戏数据库的运行效率;

7、优化游戏服务器程序,提高游戏服务器程序的运行效率;

8、优化游戏服务器环境,提高游

先阅读apache配置优化建议如下,再对相关参数进行调整,观察服务器状况.

Apache配置优化建议:

进入/usr/local/apache2/conf/extra目录下

Apache优化,

经过上述操作后,Apache已经能够正常运行。但是,对于访问量稍大的站点,Apache的这些默认配置是无法满足需求的,我们仍需调整Apache的一些参数,使Apache能够在大访问量环境下发挥出更好的性能。以下我们对Apache配置文件httpd.conf中对性能影响较大的参数进行一些说明。

(1)Timeout该参数指定Apache在接收请求或发送所请求内容之前的最长等待时间(秒),若超过该时间Apache则放弃处理该请求,并释放连接。该参数默认值为120,推荐设置为60,对于访问量较大的网站可以设置为30或15。

(2)KeepAlive该参数控制Apache是否允许在一个连接中有多个请求,默认打开。但对于大多数论坛类型站点来说,通常设置为off以关闭该支持。

(3)MPM-prefork.c在默认情况下Apache使用Prefork(进程)工作模式,可以说这部分的参数设置是对Apache性能影响的核心和关键。用户可以在配置文档中找到以下配置段:


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/648371.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-22
下一篇2023-07-22

发表评论

登录后才能评论

评论列表(0条)

    保存