2015-04-19 46 views
1

通過使用重寫映射提高URL重定向性能的方法有哪些?使用RewriteMaps的文件文件的性能改進

目前我正在使用文本文件中的查找鍵重寫Map。文本文件中有2000個密鑰,預計在接下來的幾個月中這個數字會增加100%。

文本文件是有序和所有URL重定向是301

感謝。

回答

1

我知道它已經有一段時間,你問你的問題,但因爲我是從谷歌來到這裏我自己,我會盡量嘗試回答這個問題;)

正如你已經在使用RewriteMap指令做查詢使用txt文件,您可以非常輕鬆地切換到dbm文件。 DBM實際上是一種使用索引的數據庫格式,在查找密鑰時提供了更好的性能。

您需要做的僅僅2周簡單的事情:

  1. 轉換您的txt文件使用自帶的apache的httxt2dbm命令爲dBm:

    httxt2dbm -in file.txt -out file.dbm 
    
  2. 改變你的RewriteMap指令指令以使用dbm文件代替

    RewriteMap mapname txt:/path/to/file.txt 
    

    變成

    RewriteMap mapname dbm:/path/to/file.dbm 
    

唯一覺得要記住的是,每當你改變你的.txt文件,則需要再次運行httxt2dbm命令來更新.dbm文件。

+0

太棒了!謝謝你輸入湯姆。重寫圖用3000個鍵完成。將在產品中嘗試DBM解決方案。 – 366x24x7

+0

Apache僅在啓動時讀取文本文件,或者它在更改時纔讀取。然後,它將整個地圖保存在內存中。對於3000個項目,我懷疑你會看到性能差異很大。但對於多個密鑰,使用dbm更有意義。 –