1

古いサイトを追い越すために新しいサイトを作成していて、古い URL リダイレクトを処理する必要があります (適切なコンテンツの移行を伴う)。古いサイトにはさまざまな奇妙な URL 形式があるため、b/c に一致する多数の正規表現を開発するのではなく、リライト マップを使用したいと考えています。しかし、最大 8,000 の古い URL をマップすることができ、これがあまりにも多くのリソースを消費し、サイトの速度が低下するのではないかと心配しています。大量の URL を使用したリライト マップのパフォーマンスに関するデータ/経験/ガイダンスはありますか?

ありがとう!

4

2 に答える 2

2

質問は、II7 Url Rewrite モジュール 2.0 と、rewritemap 内のアイテムの大規模なセットの実装について言及しています。これをカスタム機能として 404 ページに追加することは、適切な設計ではなく、要求パイプラインに最適ではありません。

rewritemap は大規模な URL コレクションを処理するように特別に設計されており、他のメモリ ニーズに加えて 8k の URL を保持するメモリがある限り、問題にはなりません。

jmeter または Visual Studio を使用してサーバーを簡単にテストし、rewritemap のサイズが応答時間に大きな影響を与えるかどうかを確認できます。

于 2013-04-23T21:57:00.357 に答える
1

私は何度も URL リダイレクト メカニズムを実装しました。私は主にこれに 404 ハンドラーを使用しました (これは、新しい URL のオーバーヘッドのペナルティが発生しないためです)。リクエストが 404 ハンドラーをトリガーする場合、それが実際にリダイレクトではないかどうかを確認します。送信する場合は 301 を送信し、それ以外の場合は 404 を送信します。

リダイレクトは、インデックス付きルックアップ (C# の Dictionary など) に格納できます。これにより、指定したサイズ (8k エントリ) に対してほぼ一定時間のルックアップ パフォーマンスが保証されます。

代替手段として HttpModule または (ugh) ISAP フィルターを使用することもできますが、「404 aspx エラー ページ」が最も簡単で実装が簡単です。

パフォーマンスに関しては; これは、1 日あたり 900 万件以上のヒットがあるサイトで実績のあるソリューションです。

于 2012-05-04T15:41:00.863 に答える