我知道mod-rewrite有很多積極的東西。但是有沒有消極的?顯然,如果你的規則寫得不好,你會遇到問題。但是如果你有一個高容量的站點,並且你經常使用mod-rewrite,它會對性能產生重大影響嗎?我在Google上快速搜索了一些基準測試結果,結果發現並不多。使用Mod-Rewrite會有什麼負面影響?
22
A
回答
34
我在使用mod_rewrite的網站上獲得數百萬/個點擊次數/月沒有任何重大性能問題。根據你的規則,你必須知道首先應用哪些重寫。
使用mod_rewrite最有可能比用當前語言解析URL更快。
如果您真的擔心性能,請不要使用.htaccess
文件,這些文件很慢。將所有重寫規則放入您的Apache配置中,該配置僅在啓動時讀取一次。 .htaccess
文件會在每個請求中重新進行解析,以及每.htaccess
父文件夾中的文件。
3
如果你擔心apache的性能,有一點需要考慮,如果你有很多重寫規則,就是使用「skip」標誌。這是跳過規則匹配的一種方法。所以,無論在匹配上花費的開銷都會被保存下來。
要小心,雖然我在一個項目上使用了「skip」標誌,並且使維護變得很痛苦,因爲它取決於文件中寫入內容的順序。
7
要回應Ryan上面所說的,.htaccess
中的規則與在配置文件中使用規則相比,可能會在繁忙的站點上真正地損害您的加載時間。我們最初嘗試了這個(約6000萬頁/月),但是直到我們的服務器開始吸菸時才持續很長時間:)
在您的配置中擁有規則的明顯缺點是您必須重新加載配置規則。
最後一個標記(「L」)對於加快規則的執行速度非常有用,一旦您的訪問規則更加頻繁,並且首先進行評估。如果你有一套很長的規則,它可以使維護更加棘手 - 一天早上我浪費了幾個非常令人沮喪的時間,因爲我正在編輯規則列表的中間,並且有一個陷入了超過限制的頂部意!
我們也很難找到相關的基準測試,並最終制定了我們自己的內部測試套件。一旦我們的規則被整理出來,正確地排序並進入我們的Apache conf,我們就沒有發現很多負面的性能影響。
相關問題
- 1. 爲什麼重複使用DataContext會對性能產生負面影響?
- 2. 使用FLAG_ACTIVITY_SINGLE_TOP會產生什麼影響?
- 3. 造成負面影響
- 4. 多線程寫入同一文件時會發生什麼負面影響?
- 5. 什麼是不關閉InputStreamReader的負面影響
- 6. 使用C#進行雙緩衝具有負面影響
- 7. 可以使用jQuery去除title屬性有負面影響嗎?
- 8. 在ProtoBuf上使用AsReferenceDefault = true會有什麼性能影響
- 9. 將32位應用程序安裝到C:\ Program Files \,而不是C:\ Program Files(x86)\,會有什麼負面影響?
- 10. 瞭解命令(它會影響什麼)
- 11. 將def和val用於常量值會有什麼影響
- 12. 將setCellStyle多次應用於org.apache.poi.ss.usermodel.Cell會有什麼影響?
- 13. dns預取會對性能產生負面影響嗎?
- 14. 做什麼「頁面源代碼」的樣子會影響性能
- 15. 沒有-a選項的git commit會有什麼影響?
- 16. Oracle - 在表上沒有主鍵會有什麼影響嗎?
- 17. 爲什麼符號位不會影響Integer.MAX_VALUE,但會影響MIN值?
- 18. 在PATH中使用符號鏈接的負面影響?
- 19. 不使用jquery函數會對性能產生什麼影響?
- 20. Oracle中使用LIKE'string'vs ='string'會對性能產生什麼影響?
- 21. 在Rails 3應用程序中使用require_dependency會對性能有什麼影響?
- 22. 在gcc編譯時警告有什麼影響?會有什麼後果?
- 23. 導入過程中使用impdp會對現有表造成什麼影響
- 24. VC++中的函數級鏈接是否有負面影響?
- 25. a4j:包括rich:dataTable對a4j有負面影響:commandButton
- 26. 基於GetHashCode的Equals是否有負面影響?
- 27. URL中的空格(%20)對SEO有負面影響嗎?
- 28. Courier新字體是否有負面影響?
- 29. 對孩子有負面影響,如何調整父母身高?
- 30. 向POCO添加PetaPoco屬性是否有任何負面影響?
好的答案,但我應該指出,*啓用* .htaccess文件是問題,而不是使用它們。如果您不完全禁用它們,即使您沒有任何單個.htaccess文件,仍然會爲每個路徑段提供stat-hit。 – 2008-09-17 15:03:37
使用`AllowOverride None`禁用.htaccess。 – NateS 2015-02-19 12:37:53