【问题标题】:IIS Rewrite Module rewrite map performanceIIS 重写模块重写映射性能
【发布时间】:2013-04-24 05:57:00
【问题描述】:

我正在编写一个新站点以取代旧站点,并且需要处理旧的 url 重定向(带有适当的内容迁移)。我想我想使用重写地图而不是开发一堆正则表达式来匹配 b/c 旧网站有各种各样奇怪的 url 格式。但是,我最多可以映射 8,000 个旧网址,我担心这可能会消耗太多资源并减慢我的网站速度。任何人都有关于使用大量 url 重写地图性能的任何数据/经验/指导?

谢谢!

【问题讨论】:

    标签: iis-7 url-rewriting iis-7.5


    【解决方案1】:

    问题是指 II7 Url Rewrite 模块 2.0 和 rewritemap 内大量项目的实现。将此作为自定义功能添加到 404 页面不是一个好的设计,也不是请求管道的最佳选择。

    rewritemap 是专门为处理大型 url 集合而设计的,只要您有内存来保存 8k url 以及其他内存需求,就不会成为问题。

    您可以使用 jmeter 或 Visual Studio 轻松测试服务器,以查看 rewritemap 大小是否对响应时间有任何显着影响。

    【讨论】:

      【解决方案2】:

      我不止一次实现了 URL 重定向机制;我主要为此使用 404 处理程序(因为这不会对新 URL 产生开销惩罚);如果请求触发了 404 处理程序,请查看它是否实际上不是重定向;如果是发送 301,否则发送 404。

      重定向可以存储在索引查找中(如 c# 中的字典),这保证了您所指示的大小(8k 条目)的接近恒定时间的查找性能。

      替代方案可以使用 HttpModule 或(呃)ISAP 过滤器,但您的“404 aspx 错误页面”是最直接且最容易实现的。

      至于性能;对于每天点击量超过 900 万的网站来说,这是一个经过验证的解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-04
        • 2012-06-01
        • 1970-01-01
        • 2011-10-29
        • 2017-11-07
        相关资源
        最近更新 更多