Phalcon勉強会資料

  • 3,223 views
Uploaded on

2014年8月5日に開催されたPhalcon勉強会の資料です。

2014年8月5日に開催されたPhalcon勉強会の資料です。

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,223
On Slideshare
0
From Embeds
0
Number of Embeds
13

Actions

Shares
Downloads
7
Comments
0
Likes
8

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Transcript

  • 1. Phalconを使ってみた感想と 「最速」であるという事について 大谷 祐司 株式会社インテリジェンス マーケティング統轄本部
  • 2. 自己紹介 ・山口県下関出身の33歳 ・マーケティング部署のシステムチームに所属。 ・趣味は車とプログラミングです。 ・3月にパパになりました。
  • 3. アジェンダ ・Phalconについて ・実際に開発で使ってみた感想 ・「最速」について考えてみた
  • 4. Phalconについて
  • 5. 人気急上昇中!
  • 6. 人気急上昇中!
  • 7. バージョンUPの履歴 ⇒だいぶ落ち着いてきた印象。 127日 48日 62日 314日 Ver0.4.5:2012/11/15 Ver1.0.0:2013/03/22 Ver1.1.0:2013/05/09 Ver1.2.0:2013/07/10 Ver1.3.0:2014/05/20
  • 8. 2.0リリース予定!!
  • 9. 誰が開発しているのか? 特定の個人や企業が開発しているのではなく、 PhalconTeamがコミュニティとして開発を行っています。 http://phalconphp.com/en/team
  • 10. 実際に開発で使ってみた感想
  • 11. 小規模な社内システムで実験的に採用。 人の地道な手作業を自動化するシステム。
  • 12. 画面数:6 バッチ:2本 DBのテーブル数:8 開発者:1人 (私です) どれくらいの規模のシステム?
  • 13. 使ってみた感想 フレームワーク本体に手を入れる事が困難 ⇒誰かがこっそり改造する事は無いが、 ソースの確認が難しい(C言語で書かれている) ※Phalcon2系はZephirという独自言語で実装
  • 14. 使ってみた感想 シンプルな設定ファイルが使いやすい。 ・config.php : 設定を配列でConfigクラスに与える。 DBの設定やソースのディレクトリ等。 ・loader.php : オートローダーの設定 ・services.php : DIコンテナへ機能の設定 ただし環境毎の個別設定は用意されていない。
  • 15. 独自テンプレートエンジンの「volt」 ⇒twigの経験があったのでスムーズに利用できた。 まずはフレームワークのスケルトンをコマンドで生成。 ⇒phalcon create-project XXX extensionはcomposerで管理できるので、スムーズに開発できる。 バッチ作成は PhalconCLITaskを継承して簡単に作成可能。 画面用に作成したModelもそのまま利用できる。 使ってみた感想
  • 16. ハマったところ DBエラーやコンパイルエラー等、ログ出力の設定が必要。 詳細に設定できる反面、使うまでに準備が必要。 参考情報はまだまだ少なく、かつ英語のものが多い。 直接SQLを実行する方法を見つけるのにも苦労した。 ごくたまにエラーが起きるのですが、フレームワーク内部で 起こったエラーに対して原因特定や対策が困難。
  • 17. 「最速」について考えてみた
  • 18. Phalconの特徴 PHP extensionとして実装されているために、 ・実行速度が速い ・メモリ使用量が少ない という特徴を持っている。
  • 19. なぜPHP extensionだと速いのか?
  • 20. ソースコード 中間コード 実行 コンパイル アクセラレータ PHP実行環境 Phalcon PHP実行環境に組み込むので、速く動作する。
  • 21. 普段利用しているFuelPHPと Phalconの速度比較を行い、 実際にどれくらい速いか 計測してみました。
  • 22. 計測条件 ・PHP5.5/MySQL5.6 ・DBから1000レコードをSelectして 結果を画面表示するWebシステム ・Apacheログのレスポンスタイムで、 5回の計測を行った平均を使用
  • 23. FuelPHP結果 DBアクセス 時間(マイクロ秒) メモリ(bite) 標準DB 104,539 11,294,944 PDO 156,635 17,780,272 ORM 779,926 11,155,696 DBアクセス 時間(マイクロ秒) メモリ(bite) 標準DB 87,393 9,822,952 PDO 139,650 16,569,016 ORM 744,167 9,477,896 OPcache Off OPcache On
  • 24. Phalcon結果 DBアクセス 時間(マイクロ秒) メモリ(bite) PDO 11,521 4,428,728 PHQL 47,367 6,723,480 ORM 46,287 6,721,464 SimpleQuery 45,182 6,702,584 DBアクセス 時間(マイクロ秒) メモリ(bite) PDO 10,921 4,401,960 PHQL 45,778 6,690,264 ORM 46,391 6,688,328 SimpleQuery 43,177 6,702,584 OPcache Off OPcache On
  • 25. PDOの利用で Phalconが約8倍速い結果に FuelPHP Phalcon 10,92187,393 単位:マイクロ秒
  • 26. ORMを使うと、約16倍の速度差 単位:マイクロ秒 FuelPHP Phalcon 46,391744,167
  • 27. メモリ使用量も約 2/3。 FuelPHP Phalcon 4,402kb6,668kb ※ORM利用時
  • 28. 確かに速かった!!
  • 29. ・チームとしてメインはしばらくFuelPHPのままだと思う。 ⇒採用実績、情報の多さ、経験者の多さから。 ・パフォーマンスが求められるシステムに採用していきたい。 ・これからもっと存在感を出してくると思うので、 しっかり情報をキャッチしたい。特に2.0は要注目。 これからもPhalconを使うか?
  • 30. ご清聴ありがとうございました。