データベースを呼び出さないCakePHPアプリケーションのページは、ロードに約4秒かかることがわかりました。これは、遅すぎます。
私は無駄に次のことを試みました:
- コンピューターを再起動する
- Uniserverの再インストール
- デバッグレベルを2から0に切り替える
- FileCacheからAPCキャッシュに切り替える
XDebugプロファイラーダンプを取得し、KCachegrindで、最も時間のかかる関数がphp :: session_startであり、\ webroot\index.phpによって呼び出されたことを確認しました。また、CakePHP Debug Kitを使用してパフォーマンスを確認したところ、最も時間のかかる項目は「コア処理($ _SERVER ["REQUEST_TIME"]から派生)」であることがわかりました。
ページの読み込みを高速化するにはどうすればよいですか?
私のハードウェアが関連している場合は、以下に動作環境について説明しました。
- ThinkPad T400
- Intel Core2Duoプロセッサー
- OCZ SSD
- 4 GB RAM
- Windows764ビット版
- CakePHPバージョン2.2.3
出発点として、php.iniの作業用コピーを、Uniserverが提供する製品版のphp.iniと比較したところ、次の大きな違いが見つかりました。
- PHPエラーレベル(E_ALL、E_NOTICE、E_STRICTなど)
- $php_errormsgロギング
- mysqlnd.collect設定(これらのうちの2つ)
- Xdebugを無効にする
次に、比較の前後にいくつか行いました。緑のセルは1秒未満の値です。これは、人間が何かを「かなり速い」と認識するための制限です。実際には、「インスタント」になるには0.1秒未満である必要があることを認識していますが、それは少し非現実的です。
(画像をフルサイズで表示するには、Windows SkyDrive(http://sdrv.ms/YomWdO )にアクセスしてください。)
php.iniの「After」バージョンで実行しているときにWebサイトアプリケーションを使用してみましたが、問題はありませんが、ほとんどのページを起動すると、特に一部のページをすぐに起動できる場合は、まだ道に迷っています。 。