Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PHPのキャッシュを使いこなせ!

1,750 views

Published on

「EC-CUBE名古屋ユーザーグループ×さくらクラブ」コラボ勉強会

Published in: Technology
  • Be the first to comment

PHPのキャッシュを使いこなせ!

  1. 1. 「EC-CUBE名古屋ユーザーグループ×さくらクラブ」コラボ勉強会 PHP のキャッシュを 使いこなせ! @_aromaforest 2015/12/05 大河内健太郎
  2. 2. 自己紹介 ❖ 名前: 大河内健太郎(@nanasess) 年齢: 38才 ❖ 出身: 愛知県西尾市一色町 ❖ 在住: 宝塚市 ❖ 前職: 寿司屋の板前(安城市の「ひで寿司」) ❖ 資格: 調理師・ふぐ処理師 ❖ Mac OS X / Windows Azure / FreeBSD 使ってます ❖ EC-CUBE コミッター・公式エバンジェリスト ❖ 趣味: 動物に遊んでもらうこと
  3. 3. はじめに ❖ 今回の内容は、共有レンタルサーバーでは 対応していないのがほとんどです m(_ _)m ❖ 共有レンタルサーバーをお使いの方は、次 のページのカスタマイズをお試しください 。
  4. 4. 今すぐ使える簡単チューニング ❖ EC-CUBE デフォルトでは、セッショ ンをデータベースに格納している。 ❖ しかし、これは Webサーバーを複数 台構成にしない限り有用ではありませ ん。 ❖ 共有サーバーの方は、さっさと無効に してしまいましょう! public function __construct() { $this->objDb = new SC_Helper_DB_Ex(); /* ここをコメントアウトしてしまおう session_set_save_handler(array(&$this, 'sfSessOpen'), array(&$this, 'sfSessClose'), array(&$this, 'sfSessRead'), array(&$this, 'sfSessWrite'), array(&$this, 'sfSessDestroy'), array(&$this, 'sfSessGc')); */ EC-CUBE 2系 data/class/helper/SC_Helper_Session.php 27行目付近 ※ ただし、ガラケーの多いサイトは注意
  5. 5. –Hypertext Preprocessor “まだ APC 使ってるの?”
  6. 6. キャッシュのいろいろ ❖ PHP Opcode キャッシュ ❖ ファイルキャッシュ ❖ ファイルパス解決キャッシュ ❖ ユーザーキャッシュ ❖ セッションハンドラ
  7. 7. PHP Opcode キャッシュ ❖ PHP を実行しやすい形式に変換し、共有メ モリにキャッシュします ❖ APC, WinCache, Zend Opcache など
  8. 8. ファイルキャッシュ ❖ PHP スクリプトファイルの内容を共有メモ リにキャッシュします。 ❖ APC, APCu, WinCache など
  9. 9. ファイルパス解決キャッシュ ❖ ファイルにアクセスする際、 PHP エンジンは 、相対パスを絶対パスに変換しています。 ❖ このキャッシュは解決済みのパスをキャッシュ します。 ❖ WinCache くらい?
  10. 10. ユーザーキャッシュ ❖ PHP スクリプトから、キャッシュを操作できま す。 ❖ 俗にいう KVS (Key Value Store) ❖ APC, APCu, WinCache, memcache, memcached, Redis など
  11. 11. セッションハンドラ ❖ セッションデータを格納します ❖ 通常は、ファイルに格納するので低速 ❖ APC, APCu, WinCache, memcache, memcached, Redis など
  12. 12. どれ使ったらいいの? ❖ Zend Opcache + APCu が手軽でおすすめ ❖ Windows なら Zend Opcache + WinCache ❖ APC は PHP5.4 以降推奨されてない ❖ Zend Opcache は PHP5.2 以降, APCu は 5.3 以降なら使えます ❖ 金かけて本気でやるなら Redis も入れよう
  13. 13. インストール ❖ Zend Opcache ❖ PHP5.4未満) pecl install opcache ❖ PHP5.5 以降) php.ini に設定を追加 ❖ Linux) zend_extension=/full/path/to/opcache.so ❖ Windows) zend_extension=C:pathtophp_opcache.dll ❖ APCu ❖ pecl install apcu ❖ WinCache ❖ インストーラで) http://www.iis.net/downloads/microsoft/wincache-extension
  14. 14. おすすめ設定 opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=40 00 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1 php.ini に設定しよう • http://www.1x1.jp/blog/2013/04/php55_replace_apc_with • Zend Opcache と APC の比較 • http://www.slideshare.net/hnw/zend-opcache • Zend Opcache の速さの秘密 • http://techportal.inviqa.com/2009/11/19/php-on-windows • WinCache のベンチマーク • http://qiita.com/taruhachi/items/a844bf373623991873ff • 本当は怖い Memcached • https://yakst.com/ja/posts/3243 • Redisの作者自身による Memcached との比較 ベンチマークの参考とか
  15. 15. 質疑応答
  16. 16. ご静聴ありがとうございました!

×