我对使用UrlRewriter.NET很感兴趣,并在 Win2k3 上的 IIS 6.0 的配置页面中注意到,他们说通过 ASP.NET ISAPI 映射所有请求。
没关系,但我想知道是否有人对这种表现有好的或坏的评价?我的网络服务器是否会因为这样做而被拖垮,还是会增加服务器负载的一小步?
我的服务器现在有喘息的空间,所以一些性能下降是可以接受的。
我对使用UrlRewriter.NET很感兴趣,并在 Win2k3 上的 IIS 6.0 的配置页面中注意到,他们说通过 ASP.NET ISAPI 映射所有请求。
没关系,但我想知道是否有人对这种表现有好的或坏的评价?我的网络服务器是否会因为这样做而被拖垮,还是会增加服务器负载的一小步?
我的服务器现在有喘息的空间,所以一些性能下降是可以接受的。
通配符映射确实对性能有很大的影响,主要是因为它使用应用程序线程池不是用于页面请求处理,而是用于所有内容。假设您有一个通常的页面,其中至少包含 10 个附加资源,例如图像、css 和 javascript - 然后您通过直接从池中提供静态内容来阻止其他潜在请求。更多关于 asp.net IIS 6 线程的信息可以在这里找到。
解决它的一种方法(我是如何做到的)是无法将通配符映射到保存静态内容的文件夹 - 之后您将只收到有效的应用程序请求,就像在普通情况下所做的那样。
取消映射静态目录的方法是为每个静态目录创建一个应用程序,然后进行取消映射,然后撤消创建应用程序的事情。您可以在Steve Sanderson 的博客上找到更多详细信息。
据此: http: //mvolo.com/blogs/serverside/archive/2006/11/10/Stopping-hot_2D00_linking-with-IIS-and-ASP.NET.aspx ...我们正在谈论30%的影响用于提供图像的资源。
更新 1:这将取决于您拥有的动态与静态内容的数量。如果您有足够的备用容量,您可以打开它并密切关注性能影响。如果它开始退化太多,你可以把它关掉。之后,您可以放心地进行无扩展更改。
也许看看IIS 6.0 通配符映射基准?
它似乎显示了我多年来在野外所经历的 - 使用 ASPNet dll 时的开销可以忽略不计。如果你有足够的流量让它成为一个问题,那么在它成为 ASPNet dll 之前,将会有一百个导致更大瓶颈的东西