CakePHP2.0 performance, upgrade shell

3,989 views

Published on

Japanese slide.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,989
On SlideShare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

CakePHP2.0 performance, upgrade shell

  1. 1. CakePHP2.0 Performance UpgradeShell 2011/12/12 CakePHP2 study Yasushi Ichikawa
  2. 2. I amYasushi Ichikawa@cakephperhttp://d.hatena.ne.jp/cakephper
  3. 3. ServicesKANAELhttp://kanael.netATND::Paymenthttp://atndpay.eizoku.comTipsharehttp://tipshare.info
  4. 4. CakePHPAdventCalendar2011http://atnd.org/events/22721
  5. 5. Cake2 PerformanceUpgrade shellMemory Engine @ichikaway http://cake.eizoku.com/blog/
  6. 6. Cake2 Performance
  7. 7. Cake2 Performance「 CakePHP2.0 勉強会で発表しましたローディングの話」http://d.hatena.ne.jp/cakephper/20110627 @ichikaway http://cake.eizoku.com/blog/
  8. 8. Cake2 Performance● Lazy Load● 利用するギリギリまでロードしない● 例 : uses に定義したモデルは、 $this->Post->xxx() までオブジェクト生 成されない● PHP4 のサポート廃止 @ichikaway http://cake.eizoku.com/blog/
  9. 9. Cake2 Performance● 環境● Dell SC440(Pen, 2Gmem) Ubuntu● PHP5.3.5(APC), Apache2, MySQL5.1● 計測ツール● siege -c 10 -b -t 3S● アプリケーション● Bake した index アクション ● paginate, many link @ichikaway http://cake.eizoku.com/blog/
  10. 10. Cake2 Performance@ichikaway http://cake.eizoku.com/blog/
  11. 11. Cake2 Performance● CakePHP1.3.11 ● 29 req/sec ● xhpref: 66msec, 16,931calls● CakePHP2.0.4 ● 40 req/sec ● xhpref: 50msec, 12,432calls @ichikaway http://cake.eizoku.com/blog/
  12. 12. Cake2 Performance30% 速度アップ!@ichikaway http://cake.eizoku.com/blog/
  13. 13. Upgrade Shell
  14. 14. Upgrade Shell●Cake1.3 のコードを自動変換● 全自動ではありません @ichikaway http://cake.eizoku.com/blog/
  15. 15. Upgrade Shell$ cd 13/cake/app$ lib/Cake/Console/cake upgrade @ichikaway http://cake.eizoku.com/blog/
  16. 16. Upgrade Shelldry-run オプションcake upgrade all --dry-run実行ログのみ表示コードは書き換えない @ichikaway http://cake.eizoku.com/blog/
  17. 17. Upgrade Shell●all ●全てのオプションを実行●tests ●テスト名の変更など●locations ●ファイル / フォルダ名変更 @ichikaway http://cake.eizoku.com/blog/
  18. 18. Upgrade Shell●i18n ●__() 関係の変更 ●true 廃止、 echo 追加●helpers ●ヘルパー呼出し $this 経由●basics ●廃止 Global 関数置換 @ichikaway http://cake.eizoku.com/blog/
  19. 19. Upgrade Shell●request ● $this->request->xxx() ● data,params,here,action●configure ● Configure::read() 置換●constants ●定数の変更 @ichikaway http://cake.eizoku.com/blog/
  20. 20. Upgrade Shell●components ●Component クラスを継承するように●exceptions ●cakeError を例外に置換 ●error400, error404, error500 @ichikaway http://cake.eizoku.com/blog/
  21. 21. Upgrade Shell●cake upgrade all の後に ...● webroot 入替え● database.php 書き換え ●//driver => mysql, ● datasource => Database/Mysql,● core.php 入替え (APC off ?)● routes.php 入替え● tmp キャッシュ消去 @ichikaway http://cake.eizoku.com/blog/
  22. 22. Memory Engine
  23. 23. Memory Engine●Cake2 Fixture● fields[tableParameters][engine]● 何も指定が無い場合は ● MySQL Memory Engine 利用 ● Transaction テストは注意 ● テスト実行時間短縮 ( 利点 ) ● SSD の IO 寿命短縮を回避 @ichikaway http://cake.eizoku.com/blog/
  24. 24. Memory Engine● 詳しくは tipshare.info で 「 CakePHP2.0 から Fixture で MySQL の MEMORY エンジンが使 われる場合の回避方法 」 http://tipshare.info/view/4ed736af4 b2122247e000004 @ichikaway http://cake.eizoku.com/blog/
  25. 25. THANK YOU@cakephper http://cake.eizoku.com/blog/

×