狠狠撸

狠狠撸Share a Scribd company logo
笔贬笔-贵笔惭と耻奥厂骋滨
          ?? mod_php以外の選択肢を探る
                                           hnw
                     第66回PHP勉強会(2013/03/27) 発表資料




13年3月29日金曜日
自己绍介

         @hnw / id:hnw

         勤務先:KLab株式会社

         カレーとバグが大好物

         宣伝:php-timecopというPHP拡張を作りました

              https://github.com/hnw/php-timecop



13年3月29日金曜日
今日おはなしすること

         PHP環境の選択肢を紹介

              PHP-FPM

              uWSGI + PHP plugin

         動かしてみたよ!

         メリット?デメリットは?



13年3月29日金曜日
PHP-FPM

         FPM: FastCGI Process Manager

         PHP標準のアプリケーションサーバ実装

              PHP 5.3.3からバンドル

              PHP 5.4.0から公式サポート

              プロトコルはFastCGI



13年3月29日金曜日
FastCGI


         Webサーバ?APサーバ間で使われるプロトコル

              Apache?nginx?lighttpdなどがサポート

              PHP以外の言語ではボチボチ利用される

              バイナリプロトコル




13年3月29日金曜日
uWSGI


         Pythonでボチボチ使われているAPサーバ実装

         多数の言語に対応(WSGI, PSGI, Rack, ...)

         embed SAPIを利用したPHPプラグインも提供

              PHP界隈での知名度はゼロに近い




13年3月29日金曜日
动かしてみた(1)
         PHP-FPM




13年3月29日金曜日
动かしてみた(2)
         uWSGI + PHP plugin




13年3月29日金曜日
动かしてみた(3)
         Apache + mod_php




13年3月29日金曜日
ミドルウェア构成
         対称性からApache+mod_phpの前段にもnginxを入れた


               HTTP             HTTP



                      nginx             nginx



               HTTP           FastCGI


                  Apache
                                   PHP-FPM
                  mod_php




13年3月29日金曜日
前段の苍驳颈苍虫いらなくね?

         効用

              前段のnginxの同時接続数を大きくできる

              後段のAPサーバの同時接続数は下げられる

         APサーバだけロードバランシングすることも可能

         前段をApacheにしても同じ効果が得られる



13年3月29日金曜日
速度の比较


         有意な差は出なかった

              1並列で500μs程度

              10ms台のPHPを動かすなら誤差では?




13年3月29日金曜日
メモリ消费量

         起動直後にPHPを叩いてpsコマンドのRSSの値を比較

              PHP-FPM : 3MB

              Apache + mod_php : 5MB

              uWSGI + PHP plugin : 6.5MB

         Apacheはチューニングの余地があるはず



13年3月29日金曜日
ここまでのまとめ


         PHP-FPM、uWSGI + PHP pluginともに正常動作する

         速度の差はほぼ無い

         1プロセスあたりのメモリ消费量の差も誤差に近い

         商用環境で試す人、追試をお願いします




13年3月29日金曜日
笔贬笔-贵笔惭のメリット


         PHP公式サポートされていること

              安定性が期待できる

              ロングサポートが期待できる

              乗っかって後悔する可能性が少なそう




13年3月29日金曜日
笔贬笔-贵笔惭の面白机能(1)


         slow_logが出せる

              n秒以上かかるアクセスを検出

              n秒時点でのbacktraceも取れる

               (この機能だけはrootで起動する必要あり)




13年3月29日金曜日
笔贬笔-贵笔惭の面白机能(2)


         暇なときにプロセス数を勝手に減らす機能

              「pm = ondemand」

              10秒程度アクセスが無いと子プロセスが0個になってる




13年3月29日金曜日
笔贬笔-贵笔惭の面白机能(3)


         fastcgi_?nish_request()

              レスポンスを返した後、PHPの処理が継続できる

         APCが狂ったときに緊急再起動する機能

              動作は未確認、期待通りに動くなら面白いかも




13年3月29日金曜日
笔贬笔-贵笔惭のデメリット



         実績が少ない

         監視系はHTTPの方が既存資産が生かせそう




13年3月29日金曜日
まとめ

         PHP-FPMは「普通」に使える実装

              性能?安定性など特に不安点は無い

              Apache + mod_phpより気軽に試せるのは利点

         uWSGIでもPHPが動くよ!

              普通はPHP-FPMを選ぶ気がします…



13年3月29日金曜日
ご静聴
               ありがとう
              ございました



13年3月29日金曜日

More Related Content

What's hot (20)

贵耻别濒笔贬笔を3ヶ月使ってみて
贵耻别濒笔贬笔を3ヶ月使ってみて贵耻别濒笔贬笔を3ヶ月使ってみて
贵耻别濒笔贬笔を3ヶ月使ってみて
Tetsuji Koyama
?
DevEnv Tryit.vim Phrase.vim
DevEnv Tryit.vim Phrase.vimDevEnv Tryit.vim Phrase.vim
DevEnv Tryit.vim Phrase.vim
t9md
?
笔丑辫非同期の技法
笔丑辫非同期の技法笔丑辫非同期の技法
笔丑辫非同期の技法
Shogo Kawahara
?
笔谤别诲别蹿を使った蝉辩濒のトレース
笔谤别诲别蹿を使った蝉辩濒のトレース笔谤别诲别蹿を使った蝉辩濒のトレース
笔谤别诲别蹿を使った蝉辩濒のトレース
悠滋 山本
?
结婚式の画像がどうしてもほしかった话
结婚式の画像がどうしてもほしかった话结婚式の画像がどうしてもほしかった话
结婚式の画像がどうしてもほしかった话
Daijirou Yamada
?
笔贬笔へ?んちまーく
笔贬笔へ?んちまーく笔贬笔へ?んちまーく
笔贬笔へ?んちまーく
chichi1091
?
5分て?わかる静的解析入门
5分て?わかる静的解析入门5分て?わかる静的解析入门
5分て?わかる静的解析入门
Kenta USAMI
?
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Kenichiro MATOHARA
?
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScriptJavascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
Kazufumi Ohkawa
?
フ?ロク?ラミンク?作法
フ?ロク?ラミンク?作法フ?ロク?ラミンク?作法
フ?ロク?ラミンク?作法
Kota Uchida
?
濒颈产辫驳别苍でパケット操作
濒颈产辫驳别苍でパケット操作濒颈产辫驳别苍でパケット操作
濒颈产辫驳别苍でパケット操作
slankdev
?
第一回サーバー勉强友の会
第一回サーバー勉强友の会第一回サーバー勉强友の会
第一回サーバー勉强友の会
Takahashi Tomohiko
?
第二回サーバー勉强友の会
第二回サーバー勉强友の会第二回サーバー勉强友の会
第二回サーバー勉强友の会
Takahashi Tomohiko
?
久しぶりの笔测迟丑辞苍で驳辞辞驳濒别のアレを制御してみた
久しぶりの笔测迟丑辞苍で驳辞辞驳濒别のアレを制御してみた久しぶりの笔测迟丑辞苍で驳辞辞驳濒别のアレを制御してみた
久しぶりの笔测迟丑辞苍で驳辞辞驳濒别のアレを制御してみた
Shohei Tai
?
例外の濒辞驳を快适に
例外の濒辞驳を快适に例外の濒辞驳を快适に
例外の濒辞驳を快适に
Takashi Kawachi
?
丑辫颈苍驳で作るパケット
丑辫颈苍驳で作るパケット丑辫颈苍驳で作るパケット
丑辫颈苍驳で作るパケット
Takaaki Hoyo
?
Linux で写真を操作 - 写真の管理、現像、投稿 -
Linux で写真を操作 - 写真の管理、現像、投稿 -Linux で写真を操作 - 写真の管理、現像、投稿 -
Linux で写真を操作 - 写真の管理、現像、投稿 -
Kenichiro MATOHARA
?
Pynyumon03 LT
Pynyumon03 LTPynyumon03 LT
Pynyumon03 LT
drillan
?
贵耻别濒笔贬笔を3ヶ月使ってみて
贵耻别濒笔贬笔を3ヶ月使ってみて贵耻别濒笔贬笔を3ヶ月使ってみて
贵耻别濒笔贬笔を3ヶ月使ってみて
Tetsuji Koyama
?
DevEnv Tryit.vim Phrase.vim
DevEnv Tryit.vim Phrase.vimDevEnv Tryit.vim Phrase.vim
DevEnv Tryit.vim Phrase.vim
t9md
?
笔丑辫非同期の技法
笔丑辫非同期の技法笔丑辫非同期の技法
笔丑辫非同期の技法
Shogo Kawahara
?
笔谤别诲别蹿を使った蝉辩濒のトレース
笔谤别诲别蹿を使った蝉辩濒のトレース笔谤别诲别蹿を使った蝉辩濒のトレース
笔谤别诲别蹿を使った蝉辩濒のトレース
悠滋 山本
?
结婚式の画像がどうしてもほしかった话
结婚式の画像がどうしてもほしかった话结婚式の画像がどうしてもほしかった话
结婚式の画像がどうしてもほしかった话
Daijirou Yamada
?
笔贬笔へ?んちまーく
笔贬笔へ?んちまーく笔贬笔へ?んちまーく
笔贬笔へ?んちまーく
chichi1091
?
5分て?わかる静的解析入门
5分て?わかる静的解析入门5分て?わかる静的解析入门
5分て?わかる静的解析入门
Kenta USAMI
?
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Kenichiro MATOHARA
?
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScriptJavascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
Kazufumi Ohkawa
?
フ?ロク?ラミンク?作法
フ?ロク?ラミンク?作法フ?ロク?ラミンク?作法
フ?ロク?ラミンク?作法
Kota Uchida
?
濒颈产辫驳别苍でパケット操作
濒颈产辫驳别苍でパケット操作濒颈产辫驳别苍でパケット操作
濒颈产辫驳别苍でパケット操作
slankdev
?
第一回サーバー勉强友の会
第一回サーバー勉强友の会第一回サーバー勉强友の会
第一回サーバー勉强友の会
Takahashi Tomohiko
?
第二回サーバー勉强友の会
第二回サーバー勉强友の会第二回サーバー勉强友の会
第二回サーバー勉强友の会
Takahashi Tomohiko
?
久しぶりの笔测迟丑辞苍で驳辞辞驳濒别のアレを制御してみた
久しぶりの笔测迟丑辞苍で驳辞辞驳濒别のアレを制御してみた久しぶりの笔测迟丑辞苍で驳辞辞驳濒别のアレを制御してみた
久しぶりの笔测迟丑辞苍で驳辞辞驳濒别のアレを制御してみた
Shohei Tai
?
例外の濒辞驳を快适に
例外の濒辞驳を快适に例外の濒辞驳を快适に
例外の濒辞驳を快适に
Takashi Kawachi
?
丑辫颈苍驳で作るパケット
丑辫颈苍驳で作るパケット丑辫颈苍驳で作るパケット
丑辫颈苍驳で作るパケット
Takaaki Hoyo
?
Linux で写真を操作 - 写真の管理、現像、投稿 -
Linux で写真を操作 - 写真の管理、現像、投稿 -Linux で写真を操作 - 写真の管理、現像、投稿 -
Linux で写真を操作 - 写真の管理、現像、投稿 -
Kenichiro MATOHARA
?
Pynyumon03 LT
Pynyumon03 LTPynyumon03 LT
Pynyumon03 LT
drillan
?

Similar to 笔贬笔-贵笔惭と耻奥厂骋滨——尘辞诲冲辫丑辫以外の选択肢を探る (20)

PHP meets NodeJS
PHP meets NodeJSPHP meets NodeJS
PHP meets NodeJS
Takayuki Yamaguchi
?
Arduino を PHP で制御する
Arduino を PHP で制御するArduino を PHP で制御する
Arduino を PHP で制御する
Kenichi Ahagon
?
贵濒耻尘别を活用した础尘别产补における大规模ログ収集システム
贵濒耻尘别を活用した础尘别产补における大规模ログ収集システム贵濒耻尘别を活用した础尘别产补における大规模ログ収集システム
贵濒耻尘别を活用した础尘别产补における大规模ログ収集システム
Satoshi Iijima
?
NDS31 はじめてChrome App
NDS31 はじめてChrome AppNDS31 はじめてChrome App
NDS31 はじめてChrome App
civic Sasaki
?
mruby os(案)の開発
mruby os(案)の開発mruby os(案)の開発
mruby os(案)の開発
Kazuhiro Takahashi
?
Should we write such like plugin or not?
Should we write such like plugin or not?Should we write such like plugin or not?
Should we write such like plugin or not?
SATOSHI TAGOMORI
?
搁耻产测によるお手軽分散処理
搁耻产测によるお手軽分散処理搁耻产测によるお手軽分散処理
搁耻产测によるお手軽分散処理
maebashi
?
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
ssuser551c92
?
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
Yoshikazu Kawashima
?
PHP-FPM の子フ?ロセス制御方法と設定をおさらいしよう
PHP-FPM の子フ?ロセス制御方法と設定をおさらいしようPHP-FPM の子フ?ロセス制御方法と設定をおさらいしよう
PHP-FPM の子フ?ロセス制御方法と設定をおさらいしよう
Shohei Okada
?
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
?
Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料
学 松崎
?
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
?
真っ当な技术を使ったふつうの奥别产サービス开発
真っ当な技术を使ったふつうの奥别产サービス开発真っ当な技术を使ったふつうの奥别产サービス开発
真っ当な技术を使ったふつうの奥别产サービス开発
Shota Nozaki
?
Ad stirの裏側
Ad stirの裏側Ad stirの裏側
Ad stirの裏側
Seiji Ochiai
?
サーバを作ってみた (1)
サーバを作ってみた (1)サーバを作ってみた (1)
サーバを作ってみた (1)
SeungYong Yoon
?
笔贬笔と闯补惫补厂肠谤颈辫迟の噺
笔贬笔と闯补惫补厂肠谤颈辫迟の噺笔贬笔と闯补惫补厂肠谤颈辫迟の噺
笔贬笔と闯补惫补厂肠谤颈辫迟の噺
Shogo Kawahara
?
Osc2014
Osc2014Osc2014
Osc2014
Soudai Sone
?
Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記
96smcln
?
骋颈迟とローカル环境
骋颈迟とローカル环境骋颈迟とローカル环境
骋颈迟とローカル环境
Atsushi Ito
?
Arduino を PHP で制御する
Arduino を PHP で制御するArduino を PHP で制御する
Arduino を PHP で制御する
Kenichi Ahagon
?
贵濒耻尘别を活用した础尘别产补における大规模ログ収集システム
贵濒耻尘别を活用した础尘别产补における大规模ログ収集システム贵濒耻尘别を活用した础尘别产补における大规模ログ収集システム
贵濒耻尘别を活用した础尘别产补における大规模ログ収集システム
Satoshi Iijima
?
NDS31 はじめてChrome App
NDS31 はじめてChrome AppNDS31 はじめてChrome App
NDS31 はじめてChrome App
civic Sasaki
?
Should we write such like plugin or not?
Should we write such like plugin or not?Should we write such like plugin or not?
Should we write such like plugin or not?
SATOSHI TAGOMORI
?
搁耻产测によるお手軽分散処理
搁耻产测によるお手軽分散処理搁耻产测によるお手軽分散処理
搁耻产测によるお手軽分散処理
maebashi
?
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
ssuser551c92
?
Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話Ruby で ffmpeg の filter_complex と戯れる話
Ruby で ffmpeg の filter_complex と戯れる話
Yoshikazu Kawashima
?
PHP-FPM の子フ?ロセス制御方法と設定をおさらいしよう
PHP-FPM の子フ?ロセス制御方法と設定をおさらいしようPHP-FPM の子フ?ロセス制御方法と設定をおさらいしよう
PHP-FPM の子フ?ロセス制御方法と設定をおさらいしよう
Shohei Okada
?
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
?
Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料Webサーバ勉強会 LT資料
Webサーバ勉強会 LT資料
学 松崎
?
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
?
真っ当な技术を使ったふつうの奥别产サービス开発
真っ当な技术を使ったふつうの奥别产サービス开発真っ当な技术を使ったふつうの奥别产サービス开発
真っ当な技术を使ったふつうの奥别产サービス开発
Shota Nozaki
?
サーバを作ってみた (1)
サーバを作ってみた (1)サーバを作ってみた (1)
サーバを作ってみた (1)
SeungYong Yoon
?
笔贬笔と闯补惫补厂肠谤颈辫迟の噺
笔贬笔と闯补惫补厂肠谤颈辫迟の噺笔贬笔と闯补惫补厂肠谤颈辫迟の噺
笔贬笔と闯补惫补厂肠谤颈辫迟の噺
Shogo Kawahara
?
Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記Raspberry Pi 2 誤自宅サーバー移行日記
Raspberry Pi 2 誤自宅サーバー移行日記
96smcln
?
骋颈迟とローカル环境
骋颈迟とローカル环境骋颈迟とローカル环境
骋颈迟とローカル环境
Atsushi Ito
?

More from Yoshio Hanawa (20)

自宅の消費電力をリアルタイムに グラフ化してみた
自宅の消費電力をリアルタイムに グラフ化してみた自宅の消費電力をリアルタイムに グラフ化してみた
自宅の消費電力をリアルタイムに グラフ化してみた
Yoshio Hanawa
?
Zend VMにおける例外の実装
Zend VMにおける例外の実装Zend VMにおける例外の実装
Zend VMにおける例外の実装
Yoshio Hanawa
?
Zend VMにおける例外の実装
Zend VMにおける例外の実装Zend VMにおける例外の実装
Zend VMにおける例外の実装
Yoshio Hanawa
?
ぼくのかんがえる?さいきょうの银行振込
ぼくのかんがえる?さいきょうの银行振込ぼくのかんがえる?さいきょうの银行振込
ぼくのかんがえる?さいきょうの银行振込
Yoshio Hanawa
?
「OKグーグル! 銀行振込1000円」
「OKグーグル! 銀行振込1000円」「OKグーグル! 銀行振込1000円」
「OKグーグル! 銀行振込1000円」
Yoshio Hanawa
?
浮动小数点数と翱厂厂のバグの话
浮动小数点数と翱厂厂のバグの话浮动小数点数と翱厂厂のバグの话
浮动小数点数と翱厂厂のバグの话
Yoshio Hanawa
?
笔贬笔拡张を笔贰颁尝に登録してわかったこと
笔贬笔拡张を笔贰颁尝に登録してわかったこと笔贬笔拡张を笔贰颁尝に登録してわかったこと
笔贬笔拡张を笔贰颁尝に登録してわかったこと
Yoshio Hanawa
?
骋颈迟贬耻产からお金をもらった话
骋颈迟贬耻产からお金をもらった话骋颈迟贬耻产からお金をもらった话
骋颈迟贬耻产からお金をもらった话
Yoshio Hanawa
?
颈翱厂/尘补肠翱厂と础苍诲谤辞颈诲/尝颈苍耻虫のサント?ホ?ックス机构について调べた
颈翱厂/尘补肠翱厂と础苍诲谤辞颈诲/尝颈苍耻虫のサント?ホ?ックス机构について调べた颈翱厂/尘补肠翱厂と础苍诲谤辞颈诲/尝颈苍耻虫のサント?ホ?ックス机构について调べた
颈翱厂/尘补肠翱厂と础苍诲谤辞颈诲/尝颈苍耻虫のサント?ホ?ックス机构について调べた
Yoshio Hanawa
?
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係
Yoshio Hanawa
?
家庭用ブロードバンドルータ上で奥辞谤诲笔谤别蝉蝉を动かそう
家庭用ブロードバンドルータ上で奥辞谤诲笔谤别蝉蝉を动かそう家庭用ブロードバンドルータ上で奥辞谤诲笔谤别蝉蝉を动かそう
家庭用ブロードバンドルータ上で奥辞谤诲笔谤别蝉蝉を动かそう
Yoshio Hanawa
?
Laungage Update PHP編
Laungage Update PHP編Laungage Update PHP編
Laungage Update PHP編
Yoshio Hanawa
?
笔贬笔の拡张モジュールを骋辞で作る
笔贬笔の拡张モジュールを骋辞で作る笔贬笔の拡张モジュールを骋辞で作る
笔贬笔の拡张モジュールを骋辞で作る
Yoshio Hanawa
?
骋颈迟贬耻产にバグ报告して赏金$500を顶いた话
骋颈迟贬耻产にバグ报告して赏金$500を顶いた话骋颈迟贬耻产にバグ报告して赏金$500を顶いた话
骋颈迟贬耻产にバグ报告して赏金$500を顶いた话
Yoshio Hanawa
?
辫丑辫-产耻颈濒诲がいかに便利かを力説する
辫丑辫-产耻颈濒诲がいかに便利かを力説する辫丑辫-产耻颈濒诲がいかに便利かを力説する
辫丑辫-产耻颈濒诲がいかに便利かを力説する
Yoshio Hanawa
?
翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた
翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた
翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
?
笔贬笔7の拡张モジュール事情
笔贬笔7の拡张モジュール事情笔贬笔7の拡张モジュール事情
笔贬笔7の拡张モジュール事情
Yoshio Hanawa
?
笔贬笔7の内部実装から学ぶ性能改善テクニック
笔贬笔7の内部実装から学ぶ性能改善テクニック笔贬笔7の内部実装から学ぶ性能改善テクニック
笔贬笔7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
?
笔贬笔の正规表现と最长一致
笔贬笔の正规表现と最长一致笔贬笔の正规表现と最长一致
笔贬笔の正规表现と最长一致
Yoshio Hanawa
?
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイントPHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
?
自宅の消費電力をリアルタイムに グラフ化してみた
自宅の消費電力をリアルタイムに グラフ化してみた自宅の消費電力をリアルタイムに グラフ化してみた
自宅の消費電力をリアルタイムに グラフ化してみた
Yoshio Hanawa
?
Zend VMにおける例外の実装
Zend VMにおける例外の実装Zend VMにおける例外の実装
Zend VMにおける例外の実装
Yoshio Hanawa
?
Zend VMにおける例外の実装
Zend VMにおける例外の実装Zend VMにおける例外の実装
Zend VMにおける例外の実装
Yoshio Hanawa
?
ぼくのかんがえる?さいきょうの银行振込
ぼくのかんがえる?さいきょうの银行振込ぼくのかんがえる?さいきょうの银行振込
ぼくのかんがえる?さいきょうの银行振込
Yoshio Hanawa
?
「OKグーグル! 銀行振込1000円」
「OKグーグル! 銀行振込1000円」「OKグーグル! 銀行振込1000円」
「OKグーグル! 銀行振込1000円」
Yoshio Hanawa
?
浮动小数点数と翱厂厂のバグの话
浮动小数点数と翱厂厂のバグの话浮动小数点数と翱厂厂のバグの话
浮动小数点数と翱厂厂のバグの话
Yoshio Hanawa
?
笔贬笔拡张を笔贰颁尝に登録してわかったこと
笔贬笔拡张を笔贰颁尝に登録してわかったこと笔贬笔拡张を笔贰颁尝に登録してわかったこと
笔贬笔拡张を笔贰颁尝に登録してわかったこと
Yoshio Hanawa
?
骋颈迟贬耻产からお金をもらった话
骋颈迟贬耻产からお金をもらった话骋颈迟贬耻产からお金をもらった话
骋颈迟贬耻产からお金をもらった话
Yoshio Hanawa
?
颈翱厂/尘补肠翱厂と础苍诲谤辞颈诲/尝颈苍耻虫のサント?ホ?ックス机构について调べた
颈翱厂/尘补肠翱厂と础苍诲谤辞颈诲/尝颈苍耻虫のサント?ホ?ックス机构について调べた颈翱厂/尘补肠翱厂と础苍诲谤辞颈诲/尝颈苍耻虫のサント?ホ?ックス机构について调べた
颈翱厂/尘补肠翱厂と础苍诲谤辞颈诲/尝颈苍耻虫のサント?ホ?ックス机构について调べた
Yoshio Hanawa
?
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係
Yoshio Hanawa
?
家庭用ブロードバンドルータ上で奥辞谤诲笔谤别蝉蝉を动かそう
家庭用ブロードバンドルータ上で奥辞谤诲笔谤别蝉蝉を动かそう家庭用ブロードバンドルータ上で奥辞谤诲笔谤别蝉蝉を动かそう
家庭用ブロードバンドルータ上で奥辞谤诲笔谤别蝉蝉を动かそう
Yoshio Hanawa
?
笔贬笔の拡张モジュールを骋辞で作る
笔贬笔の拡张モジュールを骋辞で作る笔贬笔の拡张モジュールを骋辞で作る
笔贬笔の拡张モジュールを骋辞で作る
Yoshio Hanawa
?
骋颈迟贬耻产にバグ报告して赏金$500を顶いた话
骋颈迟贬耻产にバグ报告して赏金$500を顶いた话骋颈迟贬耻产にバグ报告して赏金$500を顶いた话
骋颈迟贬耻产にバグ报告して赏金$500を顶いた话
Yoshio Hanawa
?
辫丑辫-产耻颈濒诲がいかに便利かを力説する
辫丑辫-产耻颈濒诲がいかに便利かを力説する辫丑辫-产耻颈濒诲がいかに便利かを力説する
辫丑辫-产耻颈濒诲がいかに便利かを力説する
Yoshio Hanawa
?
翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた
翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた
翱笔肠补肠丑别の新机能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
?
笔贬笔7の拡张モジュール事情
笔贬笔7の拡张モジュール事情笔贬笔7の拡张モジュール事情
笔贬笔7の拡张モジュール事情
Yoshio Hanawa
?
笔贬笔7の内部実装から学ぶ性能改善テクニック
笔贬笔7の内部実装から学ぶ性能改善テクニック笔贬笔7の内部実装から学ぶ性能改善テクニック
笔贬笔7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
?
笔贬笔の正规表现と最长一致
笔贬笔の正规表现と最长一致笔贬笔の正规表现と最长一致
笔贬笔の正规表现と最长一致
Yoshio Hanawa
?
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイントPHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
?

笔贬笔-贵笔惭と耻奥厂骋滨——尘辞诲冲辫丑辫以外の选択肢を探る

  • 1. 笔贬笔-贵笔惭と耻奥厂骋滨 ?? mod_php以外の選択肢を探る hnw 第66回PHP勉強会(2013/03/27) 発表資料 13年3月29日金曜日
  • 2. 自己绍介 @hnw / id:hnw 勤務先:KLab株式会社 カレーとバグが大好物 宣伝:php-timecopというPHP拡張を作りました https://github.com/hnw/php-timecop 13年3月29日金曜日
  • 3. 今日おはなしすること PHP環境の選択肢を紹介 PHP-FPM uWSGI + PHP plugin 動かしてみたよ! メリット?デメリットは? 13年3月29日金曜日
  • 4. PHP-FPM FPM: FastCGI Process Manager PHP標準のアプリケーションサーバ実装 PHP 5.3.3からバンドル PHP 5.4.0から公式サポート プロトコルはFastCGI 13年3月29日金曜日
  • 5. FastCGI Webサーバ?APサーバ間で使われるプロトコル Apache?nginx?lighttpdなどがサポート PHP以外の言語ではボチボチ利用される バイナリプロトコル 13年3月29日金曜日
  • 6. uWSGI Pythonでボチボチ使われているAPサーバ実装 多数の言語に対応(WSGI, PSGI, Rack, ...) embed SAPIを利用したPHPプラグインも提供 PHP界隈での知名度はゼロに近い 13年3月29日金曜日
  • 7. 动かしてみた(1) PHP-FPM 13年3月29日金曜日
  • 8. 动かしてみた(2) uWSGI + PHP plugin 13年3月29日金曜日
  • 9. 动かしてみた(3) Apache + mod_php 13年3月29日金曜日
  • 10. ミドルウェア构成 対称性からApache+mod_phpの前段にもnginxを入れた HTTP HTTP nginx nginx HTTP FastCGI Apache PHP-FPM mod_php 13年3月29日金曜日
  • 11. 前段の苍驳颈苍虫いらなくね? 効用 前段のnginxの同時接続数を大きくできる 後段のAPサーバの同時接続数は下げられる APサーバだけロードバランシングすることも可能 前段をApacheにしても同じ効果が得られる 13年3月29日金曜日
  • 12. 速度の比较 有意な差は出なかった 1並列で500μs程度 10ms台のPHPを動かすなら誤差では? 13年3月29日金曜日
  • 13. メモリ消费量 起動直後にPHPを叩いてpsコマンドのRSSの値を比較 PHP-FPM : 3MB Apache + mod_php : 5MB uWSGI + PHP plugin : 6.5MB Apacheはチューニングの余地があるはず 13年3月29日金曜日
  • 14. ここまでのまとめ PHP-FPM、uWSGI + PHP pluginともに正常動作する 速度の差はほぼ無い 1プロセスあたりのメモリ消费量の差も誤差に近い 商用環境で試す人、追試をお願いします 13年3月29日金曜日
  • 15. 笔贬笔-贵笔惭のメリット PHP公式サポートされていること 安定性が期待できる ロングサポートが期待できる 乗っかって後悔する可能性が少なそう 13年3月29日金曜日
  • 16. 笔贬笔-贵笔惭の面白机能(1) slow_logが出せる n秒以上かかるアクセスを検出 n秒時点でのbacktraceも取れる (この機能だけはrootで起動する必要あり) 13年3月29日金曜日
  • 17. 笔贬笔-贵笔惭の面白机能(2) 暇なときにプロセス数を勝手に減らす機能 「pm = ondemand」 10秒程度アクセスが無いと子プロセスが0個になってる 13年3月29日金曜日
  • 18. 笔贬笔-贵笔惭の面白机能(3) fastcgi_?nish_request() レスポンスを返した後、PHPの処理が継続できる APCが狂ったときに緊急再起動する機能 動作は未確認、期待通りに動くなら面白いかも 13年3月29日金曜日
  • 19. 笔贬笔-贵笔惭のデメリット 実績が少ない 監視系はHTTPの方が既存資産が生かせそう 13年3月29日金曜日
  • 20. まとめ PHP-FPMは「普通」に使える実装 性能?安定性など特に不安点は無い Apache + mod_phpより気軽に試せるのは利点 uWSGIでもPHPが動くよ! 普通はPHP-FPMを選ぶ気がします… 13年3月29日金曜日
  • 21. ご静聴 ありがとう ございました 13年3月29日金曜日