我一直認爲PHP的運行速度是非常的理想的,尤其是Zend引擎的加速之後。但是PHP仍然有加速的可能,你知道嗎?一起來看看如何加速你的PHP程序吧。
所有的一切都始於如何優化PHP的編譯
嘗試使用針對CPU型號的特殊編譯參數 -msse -mmmx -mfpmath=sse
在編譯的`時候添加 -03參數
編譯的時候調節CPU的參數 -march -mcpu Use Caution
儘量只編譯你需要的模塊,避免無用的擴展加載
對於很少使用的擴展模塊,應該編譯成共享模式,便於在運行的時候動態加載
也許有些時候--disable-all 會是你的好朋友
把PHP靜態編譯到Apache可以提速20%
# PHP
./configure --with-apache=/path/to/apache_source
# Apache
./configure --activate-module=src/modules/php4/libphp4.a
優化你的PHP配置文件
確認你的 register_globals 配置爲disabled
禁用 magic_quotes_* 選項
關閉 expose_php
關閉 register_argc_argv
除非絕對需要不要啓用 always_populate_raw_post_data
Apache服務器的優化配置
MaxSpareServers 使用高配置
MaxClients 設置爲你的服務器可以承受的2/5
MaxRequestsPerChild 理想情況是0 (不限),但是實際上都設置爲一個較的一個值
優化文件訪問
DirectoryIndex 文件列表儘可能簡短
無論如何禁止 cess 文件的 AllowOverridenone
使用 FollowSymLinks 簡化文件訪問處理
避免使用 mod_rewrite 或者更復雜的操作
如果日誌非必須的話就禁用
如果必須使用日誌,那麼請記錄到一個文件中去,並且在分析過後清除
消除昂貴的系統呼叫
不要開啓 ExtendedStatus
在允許和禁止規則的時候使用IP而不要使用域名
不要啓用 HostnameLookups
保持 ServerSignature 關閉
設置KeepAlive 爲較小的一個值
動態和靜態的內容分離
提高硬盤性能參數
使用output_buffering 優化PHP到Apache的交互
增加Apache的 SendBufferSize 大小
提高緩存執行
使用PHP代碼緩存機制
Turck MMCache 停止開發
APC較慢,優化不夠
Zend Cache優化性能好,但付費
ionCube PHP Accelerator 免費但不開源
如果可以使用Zlib壓縮
減少輸出數據
用CSS替換HTML
壓縮HTML頁面
使用Sessions管理
優化你的SQL指令