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