代码之家  ›  专栏  ›  技术社区  ›  Graham Conzett

IIS 6上无扩展url的ASP.net MVC性能

  •  2
  • Graham Conzett  · 技术社区  · 16 年前

    过去部署过MVC应用程序的人在这方面是否遇到过性能下降?它是引人注目的吗?拥有更干净的URL值得吗?我们的应用程序很少需要处理超过1000个左右的并发用户。

    编辑:感谢所有的回复,它运行得很好,尽管有一些人提到过一些奇怪的请求,但我认为我们可以使用这里提到的建议来解决这些问题。

    5 回复  |  直到 16 年前
        1
  •  3
  •   Chris    16 年前

    我们最近部署了一个应用程序,使用IIS 6通配符映射设置,在3个月内获得了约2000万页面浏览量,并且没有性能问题。我们确实在CDN上托管了大部分图像,但其他静态内容则直接从该站点提供。

    值得一提的是,IIRC,asp.net处理程序将通过默认处理程序将静态文件类型的请求传递回IIS进行处理。唯一实际的性能影响是工作线程在识别和传输请求过程中占用的时间。除了最极端的情况外,在所有情况下,这都是无关紧要的。

    另外,我们在上线之前对我提到的应用程序进行了负载测试,发现它每秒可以处理近2000个静态请求,对于涉及数据库活动的页面,每秒可以处理约700个请求。该站点托管在4台IIS6服务器上,位于带有1GB互联网管道的ZXTM负载平衡器后面。

    这里有一个链接,提供了一些关于整个静态文件处理业务的好建议:

    http://msmvps.com/blogs/omar/archive/2008/06/30/deploy-asp-net-mvc-on-iis-6-solve-404-compression-and-performance-problems.aspx

        2
  •  2
  •   Craig Stuntz    16 年前

    不在IIS 6上使用扩展的问题是,您不希望静态请求通过ASP.NET堆栈。如果所有静态请求都来自一个(或两个…)子文件夹, you can exclude them . 这将解决性能问题。

    现在,要删除 /内容子目录中,打开一个命令 提示,转到c:\Inetpub\AdminScripts, 并运行:

    将105364569更换为 用户的识别号 应用程序(此外,您还可以替换

        3
  •  2
  •   JonoW    16 年前

    对于包含 只有 静态文件,如/css、/images、/scripts等,在IIS中,我们将它们设置为自己的应用程序,并禁用通配符设置,这意味着IIS处理请求,而不是通过ASP.Net进行路由。

        5
  •  1
  •   Ray Lu    16 年前

    您可以指定例如mvc作为扩展名(比如index.mvc),并将该扩展名映射到IIS 6中的aspnet_isapi.dll,而不是通过ASP.NET为所有请求提供服务。 这意味着asp.net只处理已知的扩展名,其他扩展名(如静态文件)与以前一样,即由IIS本身提供服务。

    推荐文章