[英]What is a bytecode cache and how can I use one in PHP?
我在網上搜索並發現可以編譯PHP代碼以提高性能。 但怎么辦呢? 我可以編譯面向程序和面向對象的PHP代碼嗎?
執行PHP腳本時的基本思想分為兩步:
如果你有一個PHP腳本,只要它沒有被修改,操作碼將始終是相同的; 因此,每次執行腳本時進行編譯階段都會浪費CPU時間。
為了防止冗余編譯,可以使用一些操作碼緩存機制。
一旦PHP腳本被編譯為操作碼,那些將保存在RAM中 - 並在下次執行腳本時直接從內存中使用; 阻止編譯一次又一次地完成。
最常用的操作碼緩存是APC - Alternative PHP Cache :
一旦安裝並正確配置了APC,您就無需在PHP代碼中修改任何內容:APC將緩存操作碼,這就是全部 - 該過程對您的應用程序完全不可見。
但怎么辦呢?
簡單。
首先,您必須進行一些分析 ,以確保代碼解析成為您站點的瓶頸,並且所有其他明顯的分析(如未優化的數據存儲,慢速算法,數據挖掘和網絡調用)都得到優化。
確定是否需要操作碼緩存的最簡單方法是將此行放在最常用頁面的最頂層
$timer_start = microtime(1);
這條線在最后:
echo "Generated in ".(round((microtime(1) - $timer_start),4))." sec.";
如果時間超過0.01
,則首先要進行其他優化,因為您會注意到操作碼緩存沒有效果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.