調優LAMP應用程序的5種簡單方法:管理require和include
調優LAMP 應用程序的5 種簡單方法:
簡介
Wikipedia、Facebook 和 Yahoo! 等主要 web 屬性使用 LAMP 架構來為每天數百萬的請求提供服務,而 Wordpress、Joomla、Drupal 和 SugarCRM 等 web 應用程序軟件使用其架構來讓組織輕松部署基于 web 的應用程序。
該架構的優勢在于其簡單性。而 .NET 這樣的堆棧和 Java™ 技術可能使用大量硬件、昂貴的軟件棧和復雜的性能調優,LAMP 堆棧可以運行于商品硬件之上,使用開源軟件棧。由于軟件棧是一個松散的組件集,而非一個整體堆棧,性能調優是一大挑戰,因為需要分析和調優每個組件。
然而,這有幾個個簡單性能任務會對任何規模的網站的性能產生巨大的影響。在本文中,我們將探討旨在優化 LAMP 應用程序性能的 5 個這樣的任務。這些項目應當很少需要對您的應用程序進行架構更改,使其成為***化您的 web 應用程序所需的響應能力和硬件需求的安全、便捷的選擇。
管理require和include
從性能來看,文件狀態調用(即為檢查一個文件是否存在而對底層文件系統進行的調用)相當昂貴。文件狀態的***元兇之一以 require() 和 include() 語句的形式出現,這兩個語句用于將代碼帶到腳本中。require_once() 和 include_once() 的同級調用更成問題,因為它們不僅需要驗證文件是否存在,而且它之前沒有包含在內。
那么解決這個問題的***方式是什么?您可以做一些事來加快解決。
•為所有 require() 和 include() 調用使用絕對路徑。這將使 PHP 更清楚您希望包含的確切文件,因此無需為您的文件檢查整個 include_path。
•保持 include_path 中的條目數較低。這在很難為每個 require() 和 include() 調用提供絕對路徑的情況(通常在大型遺留應用程序中會出現這種情況)下很有用,方法就是不檢查您包含的文件不在的位置。
APC 和 Wincache 還有用于緩存 PHP 進行的文件狀態檢查結果的機制,因此無需進行反復的文件系統檢查。當您將 include 文件名保留為靜態而非變量驅動的時,它們最有效,因此盡可能嘗試這樣做很有用。
本節講述的是:管理require和include、下一節:優化數據庫