我一直認為PHP的運行速度是非常的理想的,尤其是Zend引擎的加速之後。但是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 文件列表盡可能簡短
無論如何禁止 .htaccess 文件的 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指令