通过IIS 6.0映射所有请求的通配符有什么性能影响?

时间:2009-02-24 20:04:01

标签: asp.net iis iis-6 url-rewriting

我感兴趣的是使用UrlRewriter.NET并在config page注意到Win2k3上的IIS 6.0,他们说要通过ASP.NET ISAPI映射所有请求。

这没关系,但我想知道是否有人对此表现有好的或坏的说法?通过这样做,我的网络服务器是否会受到拖累?或者它在服务器负载方面会更小一些吗?

我的服务器现在有空间呼吸,因此预计会有一些性能受到影响。

3 个答案:

答案 0 :(得分:3)

通配符映射确实会对性能产生巨大影响,主要是因为它使用的应用程序线程池不用于页面请求处理,而是用于所有内容。假设您有一个包含至少10个额外资源(如图像,CSS和javascript)的常规页面 - 然后您通过直接从池中提供静态内容来阻止其他潜在请求。有关asp.net IIS 6线程的更多信息可以找到here

回顾它的一种方法(我是如何做到的)是无法将通配符映射到包含静态内容的文件夹 - 之后您将只收到有效的应用程序请求,就像在普通情况下一样。

取消映射静态目录的方法是创建每个静态目录的应用程序,然后执行取消映射,然后撤消应用程序创建事物。您可以在Steve Sanderson's blog找到更多详细信息。

答案 1 :(得分:1)

根据这个:http://mvolo.com/blogs/serverside/archive/2006/11/10/Stopping-hot_2D00_linking-with-IIS-and-ASP.NET.aspx ...我们谈论的是用于提供图像的资源的30%影响。

更新1:这取决于您拥有的动态内容与静态内容的数量。如果您有足够的备用容量,您可以将其打开并密切关注性能影响。如果它开始降解太多,你可以关掉它。之后,您可以放心地进行无扩展更改。

答案 2 :(得分:1)

也许看看IIS 6.0 wildcard mapping benchmarks?

它似乎显示了我多年来在野外经历的事情 - 使用ASPNet dll时的开销可以忽略不计。如果你有足够的流量来解决这个问题,那么在它成为ASPNet dll之前会有一百个导致更大瓶颈的事情