• 締切済み

cakephp2とsmartyの表示が遅い

cakephp2.4とsmarty3でcms開発を行ってます。初期アクセス時の表示がすごく遅く何か原因わかる方いましたらご回答宜しくお願いします。 二回目以降、またはあまり時間を開けずアクセスすると早いです。この場合、ブラウザのキャッシュを削除してもそこまで遅くはありません。 しかし、数時間後に再度アクセスすると、また遅いです。 beforeRenderでexitかけてもレスポンス悪くない為、コントローラのDBやPHPの処理側ではなく、View(smarty)に問題があるのかな?と感じています。 何かわかる方や、アドバイスあるかたお願い致します。

みんなの回答

  • foreach
  • ベストアンサー率51% (43/84)
回答No.4

普通にbakeして生成したコードだとどうでしょう? もし普通の速度であればSmartyが問題だと切り分けられるはずです。 自作なのかgithubとかから拾ってきたのか分かりませんが、何かしらのヘルパー等を使ってSmartyでレンダリングさせてると思いますが、その処理が失敗してて重くなってる可能性は考えられませんか? あくまでも個人的な意見ですが、CakeとSmartyを組み合わせるのは辞めたほうが良いと思います。

すると、全ての回答が全文表示されます。
  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.3

申し訳ないですがこれ以上はちょっとわからないですね。 実装というよりはサーバの設定な気がします。 結構埋れてしまったので再質問してはいかがでしょう

すると、全ての回答が全文表示されます。
  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.2

実際何秒かかってますか? http://stackoverflow.com/questions/13618622/cakephp-pages-slow-to-load-due-to-phpsession-start よくわかりませんか、どうやらセッションあたりのチューニングのせいらしい? 設定を見直されてみては。 ログファイルの肥大化はないですかね? HTTPステータスコードは二回目以降は304でしょうか? もしくはdebug 0にして本番でパフォーマンスを確認したらどうなりますか? debug 0で速いようでしたら、検証ようのプログラムが初期のみ重いということになりますね。

bgbwq712
質問者

補足

>実際何秒かかってますか? 画像貼ったんですが、わかりずらいですね。cakeのdebugkitの数値を記載します。 それとサーバーですが、事情があり共用サーバーのCGIモードで動かしています。 fastCGIを導入していますがそのあたりも何か関係しますでしょうか? 1回目=> total request time・・・15624(ms) Core Processing (Derived from $_SERVER["REQUEST_TIME"])・・・3942.82(ms) Event: Controller.initialize・・・704.48(ms) Event: Controller.startup・・・37.90(ms) Controller action・・・4532.53(ms) Event: Controller.beforeRender・・・66.31(ms) » Processing toolbar data・・・66.05(ms) Rendering View 38.63・・・3724.98(ms) » Event: View.beforeRender・・・0.09(ms) » Event: View.afterRender・・・0.11(ms) » Event: View.beforeLayout・・・0.10(ms) Event: View.afterLayout・・・0.00(ms) 2回目=> total request time・・・1810(ms) Core Processing (Derived from $_SERVER["REQUEST_TIME"])・・・749.57(ms) Event: Controller.initialize・・・26.06(ms) Event: Controller.startup・・・1.12(ms) Controller action・・・285.98(ms) Event: Controller.beforeRender・・・13.89(ms) » Processing toolbar data・・・13.51(ms) Rendering View 38.63・・・643.98(ms) » Event: View.beforeRender・・・0.11(ms) » Event: View.afterRender・・・0.08(ms) » Event: View.beforeLayout・・・0.07(ms) Event: View.afterLayout・・・0.00(ms) >もしくはdebug 0にして本番でパフォーマンスを確認したらどうなりますか? debug 0で速いようでしたら、検証ようのプログラムが初期のみ重いということになりますね。 こちらdebug0で実行させてみましたが、時間がたってから1回目は遅く変わりませんでした。 セッションあたりのチューニングですが、ちょっと調べてみましたが今の所良くわかりません。

すると、全ての回答が全文表示されます。
  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.1

debugkitは入れていますか? sqllogや実行時間が見れるので便利ですよ。 cakeは無駄にSQL投げてたりするのでその辺り確認されては。

bgbwq712
質問者

お礼

ご回答ありがとうごいます! 早速試したいと思います!余地あるものは全て為そうと思いますので何かあればまた、宜しくお願いします。

bgbwq712
質問者

補足

初期アクセス時のみ、Core Processing (Derived from $_SERVER["REQUEST_TIME"])がいように遅いのですが、これはなんでしょうか? 続けてアクセスすると早いです。

すると、全ての回答が全文表示されます。

関連するQ&A