昂捷论坛≡FAQ≡□-通用类 → 问:如何优化IIS服务器


  共有28732人关注过本帖树形打印

主题:问:如何优化IIS服务器

帅哥哟,离线,有人找我吗?
飞絮
  1楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:中校 帖子:594 积分:6649 威望:0 精华:56 注册:2005/10/21 18:45:15
问:如何优化IIS服务器  发帖心情 Post By:2007/5/26 12:25:44

4 部署篇
 
  
  4.1 ASP.NET
 
  在有大数据量传输时,经常会遇到“out of
      memory”的异常。这时可调节machine.config文件中processModel子项中的memoryLimit
      属性的值,使得.NET可以利用更多的内存。
 
  4.2 其他
  4.2.1优化配置Server & IIS
  4.2.1.1扩大IIS高速缓存
  服务器保留了一部分内存空间用作IIS高速缓存,为将来的请求存储对象,这样IIS就可从高速缓存中检索对象而不用从硬盘中检索。调整IIS高速缓存的容量需要修改注册表,表项如下:
 
  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\MemoryCacheSize
 
  =0x 1E84800(类型为REG_DWORD,using hexadecimal notation.)
 
  也可设为十进制,范围0-4GB,缺省值为3072000(3MB)。一般来说此值最小应设为服务器内存的10%。
 
  IIS通过高速缓存系统句柄、目录列表以及其他常用数据的值来提高系统的性能。这个参数指明了分配给高速缓存的内存大小。如果该值为0,那就意味着“不进行任何高速缓存”。在这种情况下系统的性能可能会降低。如果你的服务器网络通讯繁忙,并且有足够的内存空间,可以考虑增大该值。必须注意的是修改注册表后,需要重新启动才能使新值生效。
 
  4.2.1.2调整IIS占用CPU时间
  服务器的CPU处理器能力总是有限的。哪一个应用程序占用处理器的时间最长,谁的性能就能得到最大的提高。
  (1)在NT的控制面板中,双击系统图标。
  (2)单击性能标签。
  (3)在应用程序性能下将游标拖到None的位置,这样就可以使所有正在运行的服务,包括IIS,使用处理器的时间达到最大值。
  (4)选择最大化网络应用程序的总处理能力。然后单击“OK。”
 
  4.2.1.3协议及相关优化
 
  (1)为了提高性能和节约资源,应该只运行需要的协议。
  (2)应该将IIS服务器,设置为独立的服务器,不要让服务器去承受域控制器要求的额外负荷。
  (3)可以把NT服务器的页交换文件分布到多个物理磁盘上,注意是多个“物理磁盘”,分布在多个分区上是无效的。另外,不要将页交换文件放在与Windows
      NT引导区相同的分区中。
  (4)使用磁盘镜像或磁盘带区集可以提高磁盘的读取性能。
  (5)关于日志的记录,应该采用文件记录而不是记录到ODBC数据源。此外,还可以在记录期间增加用来记录日志的内存缓冲区的容量来减少磁盘的活动。该缓冲区的缺省容量值为64KB。
  (6)最好把所有的数据都储存在一个单独的分区里。然后定期运行磁盘碎片整理程序以保证在存储Web服务器数据的分区中没有碎片。使用NTFS有助于减少碎片。
  (7)虽然SSL可以提供相当可靠的加密传输。但是所需的额外开销会导致IIS服务器速度下降,尤其是在处理大型文件的时候。所以应该只对确实需要保护的目录进行SSL加密。
 
  4.2.1.4 调整失效时间
 
  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\ObjectCacheTTL=0x8CA0.
 
  4.2.1.5 调整最大线程数
 
  HKEY_LOCAL_MACHINE\SYSTEM\
      CurrentControlSet\Services\w3SVC\ASP\Parameters,增加ProcessorThreadMax,减小这个值,看看性能的变化;或者增大这个值。)
 
  4.2.1.6 注册表中的其他可优化项
 
  以“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\InetInfo\Parameters\”为父节点;
 
  CacheSecurityDescriptor Indicates whether security
      descriptors are cached for file objects. A value of 1
      enables this feature. A value of 0 disables this
      feature. When enabled (the default setting), security
      descriptors for files are saved when caching a file
      object. As long as the file is cached, IIS will not need
      to re-access the file to determine access rights for new
      users. This value is most useful for sites that
      authenticate users and not useful for sites that allow
      anonymous access.
 
  CheckCertRevocation Indicates whether IIS checks to
      see if a client certificate is revoked. If you issue
      your own certificates and make local certificate checks,
      you might want to enable this feature. Otherwise, the
      feature should be disabled, which is the default. A
      value of 1 enables this feature.
 
  DisableMemoryCache Indicates whether IIS memory
      caching is enabled or disabled. By default, memory
      caching is enabled (meaning this value is set to 0).
      Disable memory caching only for testing or development
      purposes.
 
  ListenBackLog Specifies the maximum number of active
      connections that IIS maintains in the connection queue.
      The default value is 15 and the range of acceptable
      values is from 1 to 250.
 
  MaxCachedFileSize Determines the maximum size of a
      file that can be placed in the file cache. IIS will not
      cache files that are larger than this value. The default
      value is 262,144 bytes (256 KB).
 
  MaxConcurrency Specifies how many threads per
      processor should be allowed to run simultaneously if
      there is a pending input/output (I/O) operation. The
      default value (0) allows IIS to control the number of
      threads per processor. You can also set a specific
value.
 
  MaxPoolThreads Sets the number of pool threads to
      create per processor. Each pool thread watches for a
      network request for a CGI application and processes it.
      This value does not control threads that are used by
      ISAPI applications. By default, the value is set to 4.
      On a single processor system, this means that only four
      CGI applications could run simultaneously.
 
  MemCacheSize Sets the maximum amount of memory that
      IIS will use for its file cache. If IIS does not need
      this much memory, it will be left for other applications
      to use. By default, IIS uses 50 percent of the available
      memory. The valid range is from 0 megabytes to the total
      amount of physical memory available in megabytes.
 
  ObjectCacheTTL Sets the length of time (in
      milliseconds) that objects are held in memory. If the
      object hasn't been used in this interval, it is removed
      from memory. The default value is 30 seconds (300,000
      milliseconds).
 
  PoolThreadLimit Sets the maximum number of pool
      threads that can be created on the server. This limit is
      for all IIS threads. The default value is twice the size
      of physical memory in megabytes.
 
  4.2.1.7禁用不必要的服务:
 
  禁用专用 Web 服务器不需要的 Windows 2000
      服务。方法是:单击开始,依次指向程序、管理工具,然后单击计算机管理。在“计算机管理(本地)”下,展开“服务和应用程序”,然后单击服务。当前所运行服务的状态
      列中显示已启动 。以下服务是专用 Web 服务器上不需要的:
 
  警报器
  剪贴簿
  计算机浏览器
  DHCP 客户端
  DHCP 服务器
  传真服务
  文件复制
  红外线监视器
  Internet 连接共享
  信使
  NetMeeting 远程桌面共享
  网络 DDE
  网络 DDE DSDM
  NWLink NetBIOS
  NWLink IPX/SPX
  后台打印程序
  TCP/IP NetBIOS 支持服务
  电话
  Telnet
  不间断电源
  ================================================
  记下与要停止的服务有依存关系的那些服务。方法是:
  双击所需的服务。例如,双击信使。
  单击依存关系 选项卡。
  在“服务名 依赖这些服务”列表中(其中,服务名是所选服务的名称),记下该服务依赖的那些服务。
  在“这些服务依赖服务名”列表中,记下没有该服务就无法启动的那些服务。
  单击确定。
  禁用所需的服务。方法是:
  右键单击要禁用的服务,然后在出现的快捷菜单上单击属性 。
  在“启动类型”列表中,单击禁用。
  如果要立即停止服务,请单击停止。如果显示停止其他服务
      对话框,依赖于该服务的其他服务也将被停止。请记下受影响的服务,然后单击是。
  单击确定。该服务的启动类型 列中会显示禁用 。
  重复执行第 4 步,禁用其他不必要的服务。
  备注:禁用每个服务之后,应测试 Web
      服务器计算机是否运行正常。这样就最大程度地减少了禁用可能需要的服务而带来的影响。
  备注:如果 IIS 服务器是 Windows 2000 域成员,则必需 TCP/IP
      支持服务,以便将组策略正确地应用到计算机中。
 
  4.2.1.8 最大化网络应用程序数据吞吐量
 
  在工作内存中运行IIS 5.0 进程可分页代码。方法是:
  在桌面上右键单击网上邻居,然后在出现的快捷菜单中单击属性 。
  右键单击所需的本地连接 图标,然后在出现的快捷菜单中单击属性 。
  在“此连接使用下列选定的组件”列表中,单击“Microsoft
      网络的文件和打印机共享”(但不要清除其复选框),然后单击属性。
  单击“最大化网络应用程序数据吞吐量”,然后单击确定 两次
 
  4.2.1.9优化后台服务的性能
 
  IIS 5.0 进程 (Inetinfo.exe)
作为后台服务运行。要提高后台服务的性能,请按以下步骤操作:
  单击开始,指向设置,然后单击控制面板。
  在“控制面板”中,双击系统。
  单击高级 选项卡,然后单击性能选项。
  在“应用程序响应”下,单击“后台服务”,然后单击确定 两次。
  退出“控制面板”。
 
  4.2.1.10 最小化 IIS 5.0 日志记录
 
  禁止对不需要的 Web 站点、虚拟目录或文件及文件夹进行日志记录。方法是:
  单击开始,依次指向程序、管理工具,然后单击Internet 服务管理器。
  展开“*服务器名”,其中 服务器名 是 Web 服务器的名称。
  找到所需的项,然后用右键单击该项。在出现的快捷菜单上,单击属性。例如,右键单击默认 Web
      站点,然后在出现的快捷菜单上单击属性 。
  执行下列操作之一:
  如果选择 Web 站点,则单击主目录 选项卡。
  - 或 -
  如果选择虚拟目录,则单击虚拟目录 选项卡。
  - 或 -
  如果选择实际目录,则单击目录 选项卡。
  单击“日志访问”复选框,将其清除,然后单击确定。
 
  要禁止整个 Web 站点的日志记录,请单击Web 站点 选项卡,单击启用日志记录
      复选框,将其清除,然后单击确定。
  退出“Internet 信息服务”管理单元。
 
  4.2.1.11启用带宽限制
 
  限制各 Web 站点可用的网络带宽。方法是:
  启动“Internet 服务管理器”。
  展开“*服务器名”,其中服务器名 是 Web 服务器的名称。
  右键单击所需的 Web 站点(例如,默认 Web 站点),然后在出现的快捷菜单上单击属性 。
  单击性能 选项卡,然后单击“启用带宽限制”复选框,将其选中。
  在“最大网络使用”框中,键入所需的值,然后单击确定。
  退出“Internet 信息服务”管理单元。
 
  4.2.1.12 限制处理器使用
 
  限制 Web 站点对处理器的占用量。方法是:
  启动“Internet 服务管理器”。
  展开“*服务器名”,其中服务器名 是 Web 服务器的名称。
  右键单击所需的 Web 站点(例如,默认 Web 站点),然后在出现的快捷菜单上单击属性 。
  单击性能 选项卡,然后单击“启用进程限制”复选框,将其选中。
  在“最大程度使用 CPU”框中,键入所需的值。
  单击“强制性限制”复选框,将其选中,然后单击确定。
  备注:如果不启用强制性限制 选项,则不会强制执行“最大程度使用 CPU”的限制。在 Web 站点超过其允许的
      CPU 使用限制时,即会在“事件日志”中写入事件。
  退出“Internet 信息服务”管理单元。
 
  4.2.1.13限制 Web 站点连接
 
  限制各 Web 站点可用的连接数量。方法是:
  启动“Internet 服务管理器”。
  展开“*服务器名”,其中服务器名 是 Web 服务器的名称。
  右键单击所需的 Web 站点(例如,默认 Web 站点),然后在出现的快捷菜单上单击属性 。
  在连接下,单击限于。
  在“连接”框中,键入要允许的连接数量。
 
  备注:连接的每个客户端大约同时使用四个连接。例如,将连接数限制在 200 大约允许 50 名用户访问 Web
      站点。
  单击确定,然后退出“Internet 信息服务”管理单元。
 
  4. 2.1.14 使用“保持 HTTP 连接”
 
  默认情况下,能够使用“保持 HTTP 连接”。要验证是否启用了“保持 HTTP 连接”,请按以下步骤操作:
  启动“Internet 服务管理器”。
  展开“*服务器名”,其中服务器名 是 Web 服务器的名称。
  右键单击所需的 Web 站点(例如,默认 Web 站点),然后在出现的快捷菜单上单击属性 。
  在连接下,确认“已启用保持 HTTP 连接”复选框已被选中,然后单击确定。
  退出“Internet 信息服务”管理单元。
  
 

使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
飞絮
  2楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:中校 帖子:594 积分:6649 威望:0 精华:56 注册:2005/10/21 18:45:15
  发帖心情 Post By:2007/5/26 12:25:58

 4.2.2 优化配置DBServer
  4.2.2.1 SQLServer
 
  内存是影响Microsoft SQL Server系统性能的一个重要因素。
 
  SQL
      Server数据库安装时将为具有32MB物理内存的机器缺省配置16MB可用内存,16MB物理内存的机器缺省配置4MB可用内存。应在Microsoft
      SQL Server数据库安装后进行内存选项(Memory)设置。为了确定SQL
      Server系统最适宜的内存需求,可以从总的物理内存中减去Windows 2000
      Server需要的内存以及其它一些内存需求后综合确定。
  以下是SQL Server内存选项(Memory)设置方法
  (1)从Microsoft SQL Server程序集中启动SQL Enterprise Manager;
  (2)从Server Manager窗口中选择“Server”菜单选项;
  (3)在“Server”菜单中选择“Configurations”选项;
  (4)在“Server Configuration”对话框中选择”Configuration”标签,
  (5)选中“Memory”项目,在“Current”栏填入新值;
  (6)停止并重新启动SQLServer服务,使设置生效。
 
  合理扩充虚拟内存、增大SQL Server可用内存
  当SQL Server系统确实需要扩大可用内存时,应在磁盘空间充足的情况下扩充供虚拟
  内存,并相应增大 SQL
      Server可用内存。具体做法是,系统管理员首先扩充服务器的虚拟内存,然后再参考上表增大SQL
      Server可用内存,关键是要根据系统的负载情况综合决定是否扩充。
 
  使用tempinRAM
  SQL Server使用tempdb临时数据库作为一些查询连接操作时排序或创建临时表的工作
  空间。将tempdb创建在RAM中可以使系统操作性能有较大提高,而且因为tempdb在每次重启动服务器时都重建,这样即使有非正常的关闭也是较为安全的,例如停电故障。要将tempdb创建在RAM中,可以使用sp_configure进行设置,具体用法请参阅有关资料。
  由于tempdbinRAM使用的内存是由系统从内存体单独分配的,与SQL Server的内存选
  项设置的可用内存池是分开的,使用tempdbin RAM将减少整个系统的可用内存,应根据SQL
      Server和服务器运行情况进行配置,否则就可能适得其反,影响系统性能。另外,适当增加tempdb数据库空间,即使不使用tempdbin
      RAM,也可以提高数据库的运行速度。
  注意事项:在生产环境中SQL
      Server不要设置小于32MB内存,而且数据库服务器上尽量扩充供虚拟内存、增大SQL
      Server可用内存,应考虑物理内存使用状况和磁盘空间;在可能的情况下,要为系统留有部分额外的内存,这样在服务器上打开一个服务或添加一个进程且不改变SQL
      Server内存配置时,不致于使NT服务器的运行速度受到影响(变得很慢),一般认为最小为2MB最大为20MB。
 

使用IE9无法添加附件的解决方法 支持(0中立(0反对(0回到顶部