Metabase.xml 优化

网摘 2012-05-22

    Metabase.xml文件是IIS的配置 文件,每个站点 已经IIS的配置 都在这个下面,所以在修改这个文件之前要把这个文件备份一下。这个文件在C:\WINDOWS\system32\inetsrv\Metabase.xml,前篇的启用IIS的静态压缩也可以在文件下配置 ,也可以在IIS的图形界面下配置 。
      对IIS的性能优化要对症下药,对不同的站点 有不同的优化要领 ,在分析你站点 的特点的情况下,然后对Metabase.xml文件里面的参数执行 调节,提高IIS的性能。

      AppAllowDebugging
      作用:指定在服务器上能不能 启用 Active Server Page (ASP) 调试。在启用此属性的情况下,IIS 运用 程序线程是序列化的;对于每个运用 程序,一次只允许执行一个线程。序列化线程会对 Web 服务器性能产生负面影响。建议您在所有产品服务器上将此属性配置 为 false。
      留心 :当允许执行 服务器端调试时,将串行化 IIS 运用 程序线程:对于每个运用 程序,同一时间只允许运行一个线程。这会影响繁忙站点的服务器性能。

      AspBufferingOn
      作用:该属性指定 ASP 运用 程序的输出能不能 须要 缓冲。如果将该值配置 为 true,在缓冲区刷新到客户端阅读 器之前,运用 程序的所有输出都集中到缓冲区里。启用了缓冲,ASP 运用 程序就必须在客户端阅读 器收到任何输出前处理完所有的 ASP 脚本。因此,启用了缓冲的运用 程序比没有启用缓冲的似乎要慢一些,尽管启用缓冲的脚本所用的总时间更少。所以,如果启用了缓冲,那么请考虑运用 ASP 内置的 Response 对象的 Flush 要领 在处理脚本的同时将内容一份份的传递给用户。
      留心 如果将该属性配置 为 false,那么 ASP 脚本的输出一旦可用就会输出到客户端阅读 器。如果没有启用缓冲,那么所有修改现有的 HTTP 头或生成新头的要领 必须在内容的主体传送到客户端阅读 器之前执行。如果启用了缓冲,这个限定 就没有必要了。建议您在所有产品服务器上将此属性配置 为 true。

      AspQueueConnectionTestTime
      作用:IIS 将所有的 ASP 请求放置到队列中。如果请求在队列中等待的时间比 AspQueueConnectionTestTime 属性指定的时间(以秒为单位)长,则 ASP 将在执行请求前检查确定客户端能不能 仍是连接的。如果客户端已断开连接,则不处理该请求并且从队列中删除该请求。
      留心 :多数情况下,用户不会等待处理 ASP 页面超过几秒的时间。虽然最长等待时间随用户不同而不同,但通常可接受的最长时间是大约 10 秒。可以运用 AspQueueConnectionTestTime 属性来确保 IIS 不浪费时间来处理已被用户放弃的请求。当处于 ASP 将要开始处理脚本的状态时,该属性对于使 ASP 执行 有效处理非常有用。一旦脚本在运行,运用 程序仍然应该继续运用 ASP 内置 Response 对象的 IsClientConnected 要领 在合适的时候对客户端连接执行 检查。

      AspRequestQueueMax
      作用:该属性指定了允许进入队列的并发 ASP 请求的最大数目。在队列占满时,任何试图请求 ASP 文件的客户端阅读 器都将收到 HTTP 500"服务器太忙"的不正确 。
      留心 :在 IIsWebService 级别上配置 该属性可运用于所有级别上的所有进程内的和共用的进程外运用 程序项。进程内的和共用的进程外运用 程序忽略 IIsWebServer 级别及更低级别上的配置数据库配置 。但是,如果该项是进程外的隔离运用 程序,则运用 IIsWebServer 级别或更低级别的配置 。

      AspScriptEngineCacheMax
      作用:该属性指定了 ASP 页面将在内存中保持缓存的脚本引擎的最大数目。根据运用 程序中的内容的类型调整默认值。(默认值不包括当前正在运行的脚本引擎)如果有成千上万的不同页,您会体验到提高缓存大小的一些优点 :大多数频繁请求的页都可以轻轻松松 地访问到。脚本引擎缓存的优点 意味着您可以无需将模板重新编译为字节代码。

      AspScriptFileCacheSize
      作用:该属性指定了要缓存的预编译脚本文件数。如果配置 为 0,则不缓存任何脚本文件。如果配置 为 4294967295,则缓存所有脚本文件。该属性用于调整性能,依赖于可用内存数和脚本文件传输量。
      留心 :配置数据库将无穷大表示为 DWORD 值 4294967295 (0xFFFFFFFF);VBScript 则将无穷大表示为十六进制值 &HFFFFFFFF。以前的 IIS 版本将无穷大表示为 -1。 

      AspSessionMax
      作用:属性指定了 IIS 允许的最大并发会话数。当达到该限定 时,如果客户端试图与 IIS 建立新连接,则客户端将接收到不正确 信息(HTTP 500"服务器太忙")。
      留心 :配置数据库将无穷大表示为 DWORD 值 4294967295 (0xFFFFFFFF);VBScript 则将无穷大表示为十六进制值 &HFFFFFFFF。以前的 IIS 版本将无穷大表示为 -1。ASP 须要 超过保留所有会话所需数量一定量的内存。虽然可以运用 AspSessionMax 来限定 该内存超出,但是通常情况下运用 AspSessionTimeout属性来管理 IIS 中会话对象的生存期会更合适,一旦达到限定 将拒绝客户端阅读 器。

  
      AspSessionTimeout
      作用:属性指定了完成最后的与 Session 对象有关 的请求后,保留该对象的时间(以分钟为单位)。可以运用 ASP 内置 Session 对象的 Timeout 属性来在脚本中覆盖该属性。

      留心 :可以运用 AspSessionTimeout 来很好的调整 ASP 运用 程序。由于 Session 对象消耗内存资源,因此运用 该属性来限定 单个 Session 的生存期可以使运用 程序具有更好的可缩放性。

      AspProcessorThreadMax
      作用:该属性指定 IIS 可建立 的每个处理器的最大工作线程数。(IIS 所允许的每个 ASP 进程的工作线程的最大数量是 AspProcessorThreadMax 乘以服务器上处理器的数量。可以降低此值然后监视性能。如果性能降低,请恢复 AspProcessorThreadMax 原来的值。)
      留心 :该配置 通常会明显地影响 Web 运用 程序的可扩展性和服务器的性能。因为该属性定义了可同时执行的 ASP 请求的最大数量,所以除非 ASP 运用 程序扩展调用外部组件,该配置 都将保持默认值。在这种情况下,可以添加 AspProcessorThreadMax 的值。这样做允许服务器建立 更多的线程来处理更多的并发请求。如果修改 了此属性的值,则必须停止然后重新启动 Web 服务器实例以使修改 生效。该属性的万维网揭晓 服务 (WWW 服务) 配置 在所有级别上适用于所有的进程内的和共用的进程外运用 程序节点。对于进程内的和共用的进程外运用 程序,忽略 Web 服务器或更低级别上的配置数据库配置 。但是,如果该节点是进程外的隔离运用 程序,则运用 Web 服务器级别或更低级别的配置 。

      AspTrackThreadingModel
      作用:该属性指定了 IIS 能不能 检查运用 程序建立 的任意组件的线程模块。
      留心 :该配置数据库属性通常最好保留默认值 (false),以便 ASP 不运用 系统资源来跟踪线程模块,ASP 运用 程序提供最好的性能。如果将该属性配置 成 false,并且允许所建立 的组件访问运用 程序的作用域,则这些组件必须聚合自由线程封送拆收器。如果不聚合自由线程封送拆收器,则当建立 组件实例时 ASP 将生成不正确 。有关该主题的细致信息,请参阅 Platform SDK 中的"建造 ASP 组件"。将该属性设为默认值 (false) 的另一个原由 是,任意在 ASP 运用 程序中建立 的没有 OnStartPage 或 OnEndPage 要领 的对象都比其他的要揭晓 的早并且会降低运用 程序的可缩放性能。

      CacheISAPI
      作用:该属性指示在第一次运用 ISAPI 扩展后能不能 在内存中执行 缓存。如果将该属性的值配置 为 true,则 ISAPI 扩展一旦载入将一直驻留在缓存中,直到服务器停止工作。如果将该属性的值配置 为 false,则若不再运用 ISAPI 扩展,就将其从内存中卸载。能不能 对 ISAPI 扩展执行 缓存,取决于将其载入内存运用 时该属性的值。因此,如果在扩展已载入并执行 缓存后修改 属性,则只有在重新启动 Web 服务器后,所做修改 才会对扩展生效。
      留心 :将该属性配置 为 false 可能引起严重的性能问题。而且当属性配置 为 false 时,某些扩展不能 正常运行。

希望50年后它依然存在,让我感觉我一直在做一件稍微有点cool的事情 喜欢一起交个朋友吧 微信/QQ :56280295

Leave a Reply

Your email address will not be published. Required fields are marked *