【问题标题】:Can you enable HTTP compression in IIS 6 without restarting IIS?您可以在 IIS 6 中启用 HTTP 压缩而不重新启动 IIS 吗?
【发布时间】:2008-11-06 21:10:24
【问题描述】:

我目前正在优化我公司网站的性能;当下载 2MB 以上的主页和资产需要 6-10 秒时(该网站主要是 Flash,有很多媒体,所以它不是 2MB 的 HTML 和视图状态)。有很多事情需要做才能降低这个下载大小。但我绝对想做的一件事是启用 HTTP 压缩来压缩我们的静态内容,特别是 XML、CSS 和 JS;我不认为压缩对 SWF 和 JPG 有多大作用。

我只想在我们的临时站点上启用此功能,以便进行一些服务器测试和基准测试。这意味着我将不得不进行一些元数据库编辑,因为 IIS 6 不允许您通过 IIS 管理器在单个站点上设置压缩。问题是元数据库被 IIS 锁定,所以我无法保存;即使我保存了编辑,我也需要重新启动 IIS 才能使更改生效;这将关闭同一服务器上托管的其他实时站点。无论如何都可以在不重新启动 IIS 的情况下为一个站点启用压缩?我不介意重新启动我们的临时站点;我只是不希望这项工作破坏服务器上的其他站点。

非常感谢任何帮助。

【问题讨论】:

    标签: asp.net iis-6 http-compression


    【解决方案1】:

    您是否选中了“启用直接元数据库编辑”?如果是这样,您应该能够编辑元数据库,并且当文件保存时,IIS 将自动获取大部分更改。More details here

    您还可以使用 adsutil.vbs 启用压缩。在herethis blog post 的cmets 中有例子。

    cscript C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/site#/root/DoStaticCompression False
    cscript C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/site#/root/DoDynamicCompression False
    

    【讨论】:

    • 将 GZIP 过滤器添加到请求处理流需要 IISReset。
    【解决方案2】:

    您确实意识到 IISRESET 可以在几秒钟内发生,而且速度非常快,以至于用户请求只会“挂起”直到服务器响应。

    唯一不好的是,如果他们使用服务器会话,这些会话可能会丢失。

    您应该启用 HTTP 压缩,这通常是一件好事,在当今的服务器中,您很少使用任何大量的 CPU 使用率,因此压缩 HTTP 输出的次要任务将为您节省更多的带宽而不是 CPU 时间。 .

    我还应该提到,无论是谁在创建您的 Flash 文件都是错误的,flash 开发人员需要流式传输 Flash 组件,而不是在第一个页面视图上提供每一个图形、声音和动画。没有理由任何 Flash 首页应该超过 100k。

    【讨论】:

      猜你喜欢
      • 2014-09-09
      • 1970-01-01
      • 2015-01-23
      • 2012-11-03
      • 2021-07-31
      • 1970-01-01
      • 2010-10-15
      • 1970-01-01
      • 2012-09-17
      相关资源
      最近更新 更多