SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Report
Yoshio Hanawa
Follow
KLab
Mar. 28, 2013
•
0 likes
•
23,214 views
1
of
21
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
Mar. 28, 2013
•
0 likes
•
23,214 views
Download Now
Download to read offline
Report
Yoshio Hanawa
Follow
KLab
Recommended
Testing PHP extension on Travis CI
Yoshio Hanawa
2.5K views
•
12 slides
Word pressのテーマは firephpでハックすれば 良かったのか
Hisateru Tanaka
2.4K views
•
47 slides
Blenderを用いたリグ転送実験
Kazuma Hatta
696 views
•
15 slides
Seccan2012 secure os
Chiharu Usui
242 views
•
10 slides
Rustのタスクモデルについて
zigen
1.9K views
•
49 slides
フロントエンド開発の3ステップ(npm事始め)
hashedrock
5.8K views
•
46 slides
More Related Content
What's hot
FuelPHPを3ヶ月使ってみて
Tetsuji Koyama
3.8K views
•
9 slides
DevEnv Tryit.vim Phrase.vim
t9md
551 views
•
17 slides
Php非同期の技法
Shogo Kawahara
4.4K views
•
8 slides
Predefを使ったsqlのトレース
悠滋 山本
7.8K views
•
18 slides
結婚式の画像がどうしてもほしかった話
Daijirou Yamada
1K views
•
18 slides
PHPべんちまーく
chichi1091
122 views
•
13 slides
What's hot
(20)
FuelPHPを3ヶ月使ってみて
Tetsuji Koyama
•
3.8K views
DevEnv Tryit.vim Phrase.vim
t9md
•
551 views
Php非同期の技法
Shogo Kawahara
•
4.4K views
Predefを使ったsqlのトレース
悠滋 山本
•
7.8K views
結婚式の画像がどうしてもほしかった話
Daijirou Yamada
•
1K views
PHPべんちまーく
chichi1091
•
122 views
PHP With Windows binary
Masahiko Sakamoto
•
680 views
5分でわかる静的解析入門
Kenta USAMI
•
3.5K views
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
Kenichiro MATOHARA
•
3.1K views
Nltk for biginer
Atsushi Hayakawa
•
5.8K views
Javascriptを書きたくないヒ トのためのPythonScript
Kazufumi Ohkawa
•
21.6K views
プログラミング作法
Kota Uchida
•
3.5K views
libpgenでパケット操作
slankdev
•
5.4K views
第一回サーバー勉強友の会
Takahashi Tomohiko
•
212 views
第二回サーバー勉強友の会
Takahashi Tomohiko
•
59 views
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
•
3.6K views
例外のlogを快適に
Takashi Kawachi
•
1.7K views
hpingで作るパケット
Takaaki Hoyo
•
14.9K views
Linux で写真を操作 - 写真の管理、現像、投稿 -
Kenichiro MATOHARA
•
2.6K views
Pynyumon03 LT
drillan
•
1.4K views
Similar to PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP meets NodeJS
Takayuki Yamaguchi
21.6K views
•
42 slides
Arduino を PHP で制御する
Kenichi Ahagon
5.9K views
•
36 slides
Flumeを活用したAmebaにおける大規模ログ収集システム
Satoshi Iijima
20.6K views
•
67 slides
NDS31 はじめてChrome App
civic Sasaki
2.3K views
•
37 slides
mruby os(案)の開発
Kazuhiro Takahashi
2K views
•
7 slides
Should we write such like plugin or not?
SATOSHI TAGOMORI
8.6K views
•
20 slides
Similar to PHP-FPMとuWSGI——mod_php以外の選択肢を探る
(20)
PHP meets NodeJS
Takayuki Yamaguchi
•
21.6K views
Arduino を PHP で制御する
Kenichi Ahagon
•
5.9K views
Flumeを活用したAmebaにおける大規模ログ収集システム
Satoshi Iijima
•
20.6K views
NDS31 はじめてChrome App
civic Sasaki
•
2.3K views
mruby os(案)の開発
Kazuhiro Takahashi
•
2K views
Should we write such like plugin or not?
SATOSHI TAGOMORI
•
8.6K views
Rubyによるお手軽分散処理
maebashi
•
3.9K views
Ruby で ffmpeg の filter_complex と戯れる話
ssuser551c92
•
1.4K views
Ruby で ffmpeg の filter_complex と戯れる話
Yoshikazu Kawashima
•
96 views
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
Shohei Okada
•
1.5K views
PHP、おまえだったのか。 いつもHTTPメッセージを 運んでくれたのは。
sasezaki
•
7.6K views
Webサーバ勉強会 LT資料
学 松崎
•
4.7K views
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
•
9.8K views
真っ当な技術を使ったふつうのWebサービス開発
Shota Nozaki
•
1.3K views
Ad stirの裏側
Seiji Ochiai
•
2K views
サーバを作ってみた (1)
SeungYong Yoon
•
715 views
PHPとJavaScriptの噺
Shogo Kawahara
•
17K views
Osc2014
Soudai Sone
•
2.7K views
Raspberry Pi 2 誤自宅サーバー移行日記
96smcln
•
3.2K views
Gitとローカル環境
Atsushi Ito
•
1.4K views
More from Yoshio Hanawa
自宅の消費電力をリアルタイムに グラフ化してみた
Yoshio Hanawa
879 views
•
26 slides
Zend VMにおける例外の実装
Yoshio Hanawa
891 views
•
52 slides
Zend VMにおける例外の実装
Yoshio Hanawa
665 views
•
49 slides
ぼくのかんがえる さいきょうの銀行振込
Yoshio Hanawa
593 views
•
24 slides
「OKグーグル! 銀行振込1000円」
Yoshio Hanawa
545 views
•
26 slides
浮動小数点数とOSSのバグの話
Yoshio Hanawa
1.1K views
•
19 slides
More from Yoshio Hanawa
(20)
自宅の消費電力をリアルタイムに グラフ化してみた
Yoshio Hanawa
•
879 views
Zend VMにおける例外の実装
Yoshio Hanawa
•
891 views
Zend VMにおける例外の実装
Yoshio Hanawa
•
665 views
ぼくのかんがえる さいきょうの銀行振込
Yoshio Hanawa
•
593 views
「OKグーグル! 銀行振込1000円」
Yoshio Hanawa
•
545 views
浮動小数点数とOSSのバグの話
Yoshio Hanawa
•
1.1K views
PHP拡張をPECLに登録してわかったこと
Yoshio Hanawa
•
7.5K views
GitHubからお金をもらった話
Yoshio Hanawa
•
1.9K views
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
Yoshio Hanawa
•
12.1K views
realpathキャッシュと OPcacheの面倒すぎる関係
Yoshio Hanawa
•
9.9K views
家庭用ブロードバンドルータ上でWordPressを動かそう
Yoshio Hanawa
•
5.7K views
Laungage Update PHP編
Yoshio Hanawa
•
4.1K views
PHPの拡張モジュールをGoで作る
Yoshio Hanawa
•
11.2K views
GitHubにバグ報告して賞金$500を頂いた話
Yoshio Hanawa
•
8.2K views
php-buildがいかに便利かを力説する
Yoshio Hanawa
•
10.6K views
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
Yoshio Hanawa
•
14.4K views
PHP7の拡張モジュール事情
Yoshio Hanawa
•
9.1K views
PHP7の内部実装から学ぶ性能改善テクニック
Yoshio Hanawa
•
17.6K views
PHPの正規表現と最長一致
Yoshio Hanawa
•
2.7K views
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Yoshio Hanawa
•
170.7K views
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
1.
PHP-FPMとuWSGI
̶̶ 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いらなくね?
効用 前段の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-FPMのメリット
PHP公式サポートされていること 安定性が期待できる ロングサポートが期待できる 乗っかって後悔する可能性が少なそう 13年3月29日金曜日
16.
PHP-FPMの面白機能(1)
slow_logが出せる n秒以上かかるアクセスを検出 n秒時点でのbacktraceも取れる (この機能だけはrootで起動する必要あり) 13年3月29日金曜日
17.
PHP-FPMの面白機能(2)
暇なときにプロセス数を勝手に減らす機能 「pm = ondemand」 10秒程度アクセスが無いと子プロセスが0個になってる 13年3月29日金曜日
18.
PHP-FPMの面白機能(3)
fastcgi_finish_request() レスポンスを返した後、PHPの処理が継続できる APCが狂ったときに緊急再起動する機能 動作は未確認、期待通りに動くなら面白いかも 13年3月29日金曜日
19.
PHP-FPMのデメリット
実績が少ない 監視系はHTTPの方が既存資産が生かせそう 13年3月29日金曜日
20.
まとめ
PHP-FPMは「普通」に使える実装 性能・安定性など特に不安点は無い Apache + mod_phpより気軽に試せるのは利点 uWSGIでもPHPが動くよ! 普通はPHP-FPMを選ぶ気がします… 13年3月29日金曜日
21.
ご静聴
ありがとう ございました 13年3月29日金曜日