Submit Search
PHP 5.5ネーティブキャッシュの話
31 likes
18,930 views
Rui Hirokawa
PHP 5.5でオペコードキャッシュOPcacheが標準搭載されました。その使い方と特徴をベンチマークを交えて解説します。
Technology
Read more
1 of 15
Download now
Downloaded 51 times
1
2
Most read
3
Most read
4
Most read
5
6
7
8
9
10
11
12
13
14
15
More Related Content
PDF
Zend OPcacheの速さの秘密を探る
Yoshio Hanawa
PDF
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
PDF
Quick tour of PHP from inside
julien pauli
PPTX
PHP と SAPI と ZendEngine3 と
do_aki
PDF
Phpをいじり倒す10の方法
Moriyoshi Koizumi
PPTX
php and sapi and zendengine2 and...
do_aki
PDF
realpathキャッシュと OPcacheの面倒すぎる関係
Yoshio Hanawa
PPTX
std::pin の勘所
Hiroaki Goto
Zend OPcacheの速さの秘密を探る
Yoshio Hanawa
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
Quick tour of PHP from inside
julien pauli
PHP と SAPI と ZendEngine3 と
do_aki
Phpをいじり倒す10の方法
Moriyoshi Koizumi
php and sapi and zendengine2 and...
do_aki
realpathキャッシュと OPcacheの面倒すぎる関係
Yoshio Hanawa
std::pin の勘所
Hiroaki Goto
What's hot
(20)
PDF
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
tamtam180
PDF
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
National Cheng Kung University
PDF
Dragon: A Distributed Object Storage at Yahoo! JAPAN (WebDB Forum 2017)
Yahoo!デベロッパーネットワーク
PPTX
テストコードの DRY と DAMP
Yusuke Kagata
PDF
OPcache の最適化器の今
y-uti
PDF
がんばれ PHP Fiber
infinite_loop
PDF
PHPの今とこれから2022
Rui Hirokawa
PDF
InnoDBのすゝめ(仮)
Takanori Sejima
PDF
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
Kentaro Yoshida
KEY
MAP 実装してみた
Masakazu Asama
PDF
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
UnityTechnologiesJapan002
PPTX
イケてない開発チームがイケてる開発を始めようとする軌跡
NTT Communications Technology Development
PDF
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
Yoshio Hanawa
PDF
Dockerからcontainerdへの移行
Kohei Tokunaga
PDF
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
PDF
PHP7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
PDF
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
PDF
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
PDF
.NET 7 での ASP.NET Core Blazor の新機能ピックアップ
一希 大田
PDF
月間10億pvを支えるmongo db
Yuji Isobe
Introduction httpClient on Java11 / Java11時代のHTTPアクセス再入門
tamtam180
LLVM 總是打開你的心:從電玩模擬器看編譯器應用實例
National Cheng Kung University
Dragon: A Distributed Object Storage at Yahoo! JAPAN (WebDB Forum 2017)
Yahoo!デベロッパーネットワーク
テストコードの DRY と DAMP
Yusuke Kagata
OPcache の最適化器の今
y-uti
がんばれ PHP Fiber
infinite_loop
PHPの今とこれから2022
Rui Hirokawa
InnoDBのすゝめ(仮)
Takanori Sejima
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
Kentaro Yoshida
MAP 実装してみた
Masakazu Asama
【Unite Tokyo 2019】大量のアセットも怖くない!~HTTP/2による高速な通信の実装例~
UnityTechnologiesJapan002
イケてない開発チームがイケてる開発を始めようとする軌跡
NTT Communications Technology Development
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
Yoshio Hanawa
Dockerからcontainerdへの移行
Kohei Tokunaga
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
PHP7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
macOSの仮想化技術について ~Virtualization-rs Rust bindings for virtualization.framework ~
NTT Communications Technology Development
カスタムメモリマネージャと高速なメモリアロケータについて
alwei
.NET 7 での ASP.NET Core Blazor の新機能ピックアップ
一希 大田
月間10億pvを支えるmongo db
Yuji Isobe
Ad
Viewers also liked
(20)
PDF
PHP 5.5 Zend OPcache
Masashi Shinbara
PPTX
PHPのキャッシュを使いこなせ!
Kentaro Ohkouchi
PDF
PHPの今とこれから 2013
Rui Hirokawa
PDF
IbisPaintのOpenGLES2.0
Eiji Kamiya
PDF
PHPの今とこれから2014
Rui Hirokawa
PPTX
PHP7実環境ベンチ2016春
Ryo Tomidokoro
PDF
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
Akira Tachibana
PDF
Unity恐くないよ!!
nakamura001
PPTX
PHPバージョン別応答速度比較
Takayuki Saito
PDF
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Yoshio Hanawa
PDF
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
Kei Nakazawa
PDF
PHP5.6からPHP7.0への移行
Yasuo Ohgaki
PDF
家庭用ブロードバンドルータ上でWordPressを動かそう
Yoshio Hanawa
PDF
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
KLab株式会社
PDF
PHPの今とこれから2015
Rui Hirokawa
PDF
Code igniterを初めて使うときにはまった4つのポイント
noldor
PPTX
PHP7ではなくHack/HHVMを選ぶ理由
Yuji Otani
PPTX
Jenkins 2.0 (日本語)
Kohsuke Kawaguchi
PDF
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
PDF
WordCamp Tokyo2016itkaasan
松田 千尋
PHP 5.5 Zend OPcache
Masashi Shinbara
PHPのキャッシュを使いこなせ!
Kentaro Ohkouchi
PHPの今とこれから 2013
Rui Hirokawa
IbisPaintのOpenGLES2.0
Eiji Kamiya
PHPの今とこれから2014
Rui Hirokawa
PHP7実環境ベンチ2016春
Ryo Tomidokoro
実録 WordPress Twenty Sixteen のカスタマイズ | WordBench東京 2月勉強会 「みんなのテーマ開発」〜自分の好きな作り方...
Akira Tachibana
Unity恐くないよ!!
nakamura001
PHPバージョン別応答速度比較
Takayuki Saito
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Yoshio Hanawa
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
Kei Nakazawa
PHP5.6からPHP7.0への移行
Yasuo Ohgaki
家庭用ブロードバンドルータ上でWordPressを動かそう
Yoshio Hanawa
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
KLab株式会社
PHPの今とこれから2015
Rui Hirokawa
Code igniterを初めて使うときにはまった4つのポイント
noldor
PHP7ではなくHack/HHVMを選ぶ理由
Yuji Otani
Jenkins 2.0 (日本語)
Kohsuke Kawaguchi
Unityとスマートフォンアプリの最適化
COLOPL, Inc.
WordCamp Tokyo2016itkaasan
松田 千尋
Ad
Similar to PHP 5.5ネーティブキャッシュの話
(20)
PDF
Java EE7 䛸㻌JCache
maruyama097
PDF
Railsの運用について
Yuuki Namikawa
PDF
Caching ガイダンスの話
Sunao Tomita
PDF
20120117 13 meister-elasti_cache-public
Amazon Web Services Japan
PPTX
baserCMSのキャッシュの仕組み~もうキャッシュでハマらない!!~【勉強会資料】
株式会社キャッチアップ
PDF
Amazon ElastiCache - AWSマイスターシリーズ
SORACOM, INC
PDF
Webサーバのチューニング
Yu Komiya
PDF
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
OSSラボ株式会社
PDF
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
VirtualTech Japan Inc.
PDF
20121205 nosql(okuyama fs)セミナー資料
Takahiro Iwase
PDF
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
純生 野田
PPTX
徳丸本に載っていないWebアプリケーションセキュリティ
Hiroshi Tokumaru
PPTX
Flumeを活用したAmebaにおける大規模ログ収集システム
Satoshi Iijima
PDF
141030ceph
OSSラボ株式会社
PDF
VarnishCache入門Rev2.1
Iwana Chan
PPT
Cake Php キャッシュのやり方
柴田 篤志
PDF
これからのNashorn
Logico
KEY
Alfrescoクラスタリング入門
Ashitaba YOSHIOKA
PDF
[db tech showcase Tokyo 2014] B25: [In-Memory DB: SAP HANA] 障害・災害対策のメカニズム by...
Insight Technology, Inc.
PPTX
PHP基礎勉強会
Yuji Otani
Java EE7 䛸㻌JCache
maruyama097
Railsの運用について
Yuuki Namikawa
Caching ガイダンスの話
Sunao Tomita
20120117 13 meister-elasti_cache-public
Amazon Web Services Japan
baserCMSのキャッシュの仕組み~もうキャッシュでハマらない!!~【勉強会資料】
株式会社キャッチアップ
Amazon ElastiCache - AWSマイスターシリーズ
SORACOM, INC
Webサーバのチューニング
Yu Komiya
[日本仮想化技術] 2014/6/5 OpenStack最新情報セミナー資料
OSSラボ株式会社
OSSラボ様講演 OpenStack最新情報セミナー 2014年6月
VirtualTech Japan Inc.
20121205 nosql(okuyama fs)セミナー資料
Takahiro Iwase
MTのダイナミック処理(PHP)を高速化する@サーバーサイドスクリプティング
純生 野田
徳丸本に載っていないWebアプリケーションセキュリティ
Hiroshi Tokumaru
Flumeを活用したAmebaにおける大規模ログ収集システム
Satoshi Iijima
141030ceph
OSSラボ株式会社
VarnishCache入門Rev2.1
Iwana Chan
Cake Php キャッシュのやり方
柴田 篤志
これからのNashorn
Logico
Alfrescoクラスタリング入門
Ashitaba YOSHIOKA
[db tech showcase Tokyo 2014] B25: [In-Memory DB: SAP HANA] 障害・災害対策のメカニズム by...
Insight Technology, Inc.
PHP基礎勉強会
Yuji Otani
More from Rui Hirokawa
(20)
PDF
PHPの今とこれから2025 (PHP Conference Japan 2025)
Rui Hirokawa
PDF
PHPの今とこれから2024 at PHP Conference Japan 2024
Rui Hirokawa
PDF
PHPの今とこれから2023
Rui Hirokawa
PDF
PHPの今とこれから2021
Rui Hirokawa
PDF
PHPの今とこれから2020
Rui Hirokawa
PDF
PHPの今とこれから2019
Rui Hirokawa
PDF
日本PHPユーザ会の紹介
Rui Hirokawa
PDF
PHPの中の人によるパネルディスカッション
Rui Hirokawa
PDF
PHPの今とこれから2009
Rui Hirokawa
PDF
PHPの今とこれから2008
Rui Hirokawa
PDF
PHPの今とこれから2007
Rui Hirokawa
PDF
PHPの今とこれから2006
Rui Hirokawa
PDF
PHPの今と未来を語る
Rui Hirokawa
PDF
PHPの今と未来を語る
Rui Hirokawa
PDF
php.netの歩き方
Rui Hirokawa
PDF
PHP4の今 ~日本語対応と最近のトピックス~
Rui Hirokawa
PDF
PHPの今とこれから2017
Rui Hirokawa
PDF
PHPの今とこれから2018
Rui Hirokawa
PDF
PHP Now and then 2018 : WordPress Special Edition
Rui Hirokawa
PDF
PHPの今とこれから2016
Rui Hirokawa
PHPの今とこれから2025 (PHP Conference Japan 2025)
Rui Hirokawa
PHPの今とこれから2024 at PHP Conference Japan 2024
Rui Hirokawa
PHPの今とこれから2023
Rui Hirokawa
PHPの今とこれから2021
Rui Hirokawa
PHPの今とこれから2020
Rui Hirokawa
PHPの今とこれから2019
Rui Hirokawa
日本PHPユーザ会の紹介
Rui Hirokawa
PHPの中の人によるパネルディスカッション
Rui Hirokawa
PHPの今とこれから2009
Rui Hirokawa
PHPの今とこれから2008
Rui Hirokawa
PHPの今とこれから2007
Rui Hirokawa
PHPの今とこれから2006
Rui Hirokawa
PHPの今と未来を語る
Rui Hirokawa
PHPの今と未来を語る
Rui Hirokawa
php.netの歩き方
Rui Hirokawa
PHP4の今 ~日本語対応と最近のトピックス~
Rui Hirokawa
PHPの今とこれから2017
Rui Hirokawa
PHPの今とこれから2018
Rui Hirokawa
PHP Now and then 2018 : WordPress Special Edition
Rui Hirokawa
PHPの今とこれから2016
Rui Hirokawa
PHP 5.5ネーティブキャッシュの話
1.
PHP5.5 ネーティブキャッシュの話 廣川 類
@rui_hi PHPカンファレンス2013 2013年9月14日(土)
2.
キャッシュとは? データを再利用する仕組み オペコードキャッシュとは? コンパイル後のバイトコードを共有メモリに保持、再利用することで、 パース/コンパイルの時間・負荷をなくす。 キャッシュの利点: 応答速度改善、サーバ負荷低減 実行形態:サーバ組込型:APC,
Xcache, OPcache 等、分散型: memcache キャッシュとは? クライアント ( Webブラウザ ) クライアントクライアントクライアントクライアント キャッシュキャッシュキャッシュキャッシュ ページキャッシュページキャッシュページキャッシュページキャッシュ データデータデータデータ キャッシュキャッシュキャッシュキャッシュ オペコードオペコードオペコードオペコード キャッシュキャッシュキャッシュキャッシュ 出力 PHPスクリプト レスポンス リクエスト Webサーバー/PHP フラグメントキャッシュフラグメントキャッシュフラグメントキャッシュフラグメントキャッシュ コンパイル 出力キャッシュ出力キャッシュ出力キャッシュ出力キャッシュ 実行 関数APIDB パース
3.
オペコードキャッシュはPHP 4時代から重要技術 スクリプトエンジンと一体で動作するため、開発が難しい 新バージョンへの追従遅延、動作不安定等の問題を発生 APC 3.1.14
公開キャンセル(2013/2): 深刻なメモリの問題 PHP 6でのAPC標準搭載化:PHP 6開発中断により延期 Opcache標準採用の流れ https://wiki.php.net/rfc/optimizerplus Zend Optimizer+をOSS化, PHP 5.5組込を提案(2013/1) Zend Optimizer+ から Zend OPcacheに改名(2013/3) 投票により採用決定(PHP 5.5リリースは2ヶ月遅延)(2013/3)
4.
OPcacheの特徴 ユーザのメリット 標準的に使用できる 最新版に追従 安定化 APCとの違い OPcache APC 対応PHPバージョン 5.2~5.5
5.2~5.3, 5.4(β) 使用後メモリ管理 破棄→再起動 再利用 実行速度 1~1.2 1 付加機能 最適化 データキャッシュ,プリロード アップロード進捗表示,最適化
5.
OPcacheインストール インストール ソースコードから組込 PHP 5.5 :バンドル、PHP
5.2~5.5はPECL, github configure に --enable-opcache オプション指定 php.ini 設定 zend_extension=/usr/local/lib/php/20121212/opcache.so opcache.enable=1 Zendエクステンションとして読込み(フルパス指定) Opcache有効化(デフォルト:有効)
6.
php.ini 推奨設定オプション opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.save_comments=0 opcache.enable_file_override=1 性能向上が期待できるが注意を要するオプション 最大メモリ 最大メモリ(文字列) 最大ファイル数 更新確認間隔[s] 再起動高速化 PHPDocキャッシュ除外 ファイル存在確認処理を代替 性能向上が期待できるオプション(要調整)
7.
オプション (opcache. 省略)
デフォルト 説明 enable On OPcache有効/無効 memory_consumption 64 使用メモリ[MB] interned_string_buffer 4 内部文字列用メモリ[MB] max_accelerated_files 2000 キャッシュ用ハッシュキーの最大数 validate_timestamps On 更新日付に基づきキャッシュ更新 revalidate_freq 2 タイムスタンプ更新確認間隔[s] revalidate_path Off include_path探索最適化有効/無効 optimization_level 0xffffffff 特定の最適化を有効/無効 enable_file_override Off ファイル存在確認関数をオーバーライド OPcache主要設定オプション(1) ■ 基本オプション、最適化
8.
オプションオプションオプションオプション (opcache. 省略省略省略省略)
デフォルトデフォルトデフォルトデフォルト 説明説明説明説明 blacklist_filename “” キャッシュ対象外とするファイルを指定 max_file_size 0 キャッシュ対象ファイルの最大サイズ restrict_api “” キャッシュ対象の先頭文字列を指定 save_comments On PHPDocコメント有効/無効 load_comments On 共有メモリからPHPDocコメントをロード OPcache主要設定オプション(2) オプション (opcache. 省略) デフォルト 説明 force_restart_timeout 180 指定秒経過時に強制再起動 max_wasted_percentage 5 廃棄済みメモリが指定%を越えると再起動 use_cwd On カレントディレクトリをキーに追加(衝突回避) error_log “” エラーログファイル名 log_verbosity_level 1 エラーログ詳細度(0..4) fast_shutdown Off 高速シャットダウン処理有効/無効 ■ キャッシュ対象を指定/限定(互換性に注意) ■ 安定性/デバッグ
9.
ベンチマーク req/sec nominal Opcache
APC 最適化無し PHP 5.5 23.42 62.40 (+166%) 56.52 (+10%) 57.65 (+8%) PHP 5.4 23.06 60.56 (+163%) 55.88 (+8%) 58.79 (+3%) PHP 5.3 22.30 49.04 (+120%) 45.53 (+8%) 47.12 (+4%) ab -n 1000 -c 20 http://www.example.com/ WordPress 3.6 (Ubuntu 13.04, nginx 1.2.6) 40 50 60 70 キャッシュなし
10.
キャッシュ管理コンソール キャッシュ管理コンソール https://github.com/rlerdorf/opcache-status
11.
Opcacheはデータキャッシュをサポートしない データキャッシュ用エクステンション: APCu 、Yac 、memcache
等を使う APCuの関数APIはAPC互換:既存のプラグイン等を使用可能 キャッシュに保存: apc_store($key, $var); キャッシュから取得: $var = apc_fetch($key); APCuによるユーザキャッシュ extension = apcu.so apc.enabled = 1 apc.shm_size = 32M PECL, githubで公開 構築: configureに –enable-apcu オプション指定 設定オプション
12.
オプション (apc. 省略)
デフォルト 説明 enabled On APCu有効/無効 preload_path “” 初期化時にプリロードするパス shm_size 32 共有メモリの大きさ[MB] shm_segments 1 共有メモリセグメント数 ttl 0 アクセス有効時間[s] gc_ttl 3600 キャッシュがGCリストに残る時間[s] smart 0 expungeを実行する有効メモリ割合 entries_hint 4096 キャッシュ中に存在する変数の数の予測値 slam_defense 1 キーのslammingを防止 serializer php シリアライザを指定 rfc1867 0 ファイルアップロードメータ機能有効 rfc1867_prefix “upload_” アップロード時に生成される変数の接頭辞 rfc1867_name “APCu_UPLOAD_PROGRESS” フォーム変数 rfc1867_freq 0 更新間隔[%または大きさ] APCu主要設定オプション
13.
管理コンソール:apc.php サーバ状況の監視、キャッシュの個別管理が可能 APCu管理コンソール
14.
Opcache + APCuベンチマーク WordPress
3.6 (Ubuntu 13.04, nginx 1.2.6) APC Object Cache Backend (http://http://wordpress.org/plugins/apc/) [1] データ(オブジェクト)キャッシュ: Tribe Object Cache [2] ページキャッシュ: Batcache クライアント ( Webブラウザ ) クライアントクライアントクライアントクライアント キャッシュキャッシュキャッシュキャッシュ ページキャッシュページキャッシュページキャッシュページキャッシュ データデータデータデータ キャッシュキャッシュキャッシュキャッシュ オペコードオペコードオペコードオペコード キャッシュキャッシュキャッシュキャッシュ 出力 PHPスクリプト レスポンス リクエスト Webサーバー/PHP フラグメントキャッシュフラグメントキャッシュフラグメントキャッシュフラグメントキャッシュ コンパイル 出力キャッシュ出力キャッシュ出力キャッシュ出力キャッシュ 実行 関数APIDB パース Opcache Opcache+APCu+[1] Opcache+APCu+[2] 58.48 67.18 (+15%) 2197.18 (+3657%)
15.
PHP 5.5でついにオペコードキャッシュ標準搭載化! 今後、PHPと共に進化していく(はず) アプリケーション、環境毎にパラメータ調整が必要 まとめ PHP 5.5
ネーティブキャッシュで爆速化!
Download