プログラム
PHP の実行速度は、特に Zend エンジンの加速後の速度が非常に理想的であると常々思っています。しかし、PHP にはまだ高速化の可能性があることをご存知ですか?
すべては PHP のコンパイルを最適化する方法から始まります
CPU モデルの特別なコンパイル パラメーター -msse -mmmx -mfpmath=sse を使用してみます
コンパイル時に -03 パラメーターを追加します
CPU のコンパイル時に調整しますパラメータ -march -mcpu 注意してください
無駄な拡張機能の読み込みを避けるために、必要なモジュールのみをコンパイルするようにしてください
めったに使用されない拡張モジュールについては、実行時の動的読み込みを容易にするために共有モードにコンパイルする必要があります
場合によっては --disable -すべてがあなたの良い友達になります
PHP を Apache に静的にコンパイルすると 20% 高速化できます
# PHP
./configure --with-apache=/path/to/apache_source
# Apache
./configure --activate-module=src/modules/php4/libphp4.a
PHP 設定ファイルを最適化します
register_globals 設定が無効になっていることを確認します
magic_quotes_* オプションを無効にします
Expose_php をオフにする
register_argc_argv をオフにする
絶対に必要な場合を除き、always_populate_raw_post_data を有効にしないでください
Apache サーバー用に最適化された構成
MaxSpareServers 高度な構成を使用します
MaxClients をサーバーが処理できる 2/5 に設定します
MaxRequestsPerChild 理想的には 0 (制限なし) ですが、実際には設定されていますより小さい値に
ファイルアクセスを最適化します
DirectoryIndexファイルリストをできるだけ短くします
いずれの.htaccessファイルもAllowOverrideすることは禁止されています
FollowSymLinksを使用してファイルアクセス処理を簡素化します
mod_rewriteまたはより複雑な操作の使用を避けます
ログ記録が必要ない場合は、無効にしてください
ログを使用する必要がある場合は、ログをファイルに記録し、分析後にクリアしてください
高価なシステムコールを排除します
ExtendedStatusを有効にしないでください
次の場合はドメイン名の代わりにIPを使用してくださいルールを許可し、禁止するhostnameLookupsを有効にしないでください。 ApacheのSendBufferSizeサイズ
キャッシュの実行を改善PHPコードキャッシュメカニズムを使用
Turck MMCacheが開発を停止
APCが遅く、十分に最適化されていない
Zend Cacheがパフォーマンスを最適化する 良いが有料
ionCube PHP Accelerator 無料だがオープンではないソース
Zlib圧縮を使用できる場合
出力データを削減HTMLをCSSに置き換える
HTMLページを圧縮する
セッション管理を使用する SQLコマンドを最適化する