Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
mrubyとWebサーバ
Search
MATSUMOTO Ryosuke
PRO
June 22, 2013
Programming
6
1.2k
mrubyとWebサーバ
mrubyをWebサーバソフトウェアに組み込む
MATSUMOTO Ryosuke
PRO
June 22, 2013
Tweet
Share
More Decks by MATSUMOTO Ryosuke
See All by MATSUMOTO Ryosuke
エンジニアのキャリアパスはどう描く? まつもとりーさんと考える後悔しないキャリア選択
matsumoto_r
PRO
3
600
まつもとりーのこれまでとCOGNANOのこれから
matsumoto_r
PRO
0
220
2022年の研究所の評価制度振り返りと今後
matsumoto_r
PRO
0
560
VUCAワールドから紐解く組織や評価制度の変遷と再設計
matsumoto_r
PRO
9
25k
コンテナの研究開発から学ぶLinuxの要素技術
matsumoto_r
PRO
2
1.3k
開発者体験をさらに向上させる 事業と研究との連携
matsumoto_r
PRO
2
1.9k
企業研究の価値と事業との連携
matsumoto_r
PRO
0
1k
誇りを持って研究していくために
matsumoto_r
PRO
1
1.2k
インフラの企業研究の価値とこれから
matsumoto_r
PRO
7
18k
Other Decks in Programming
See All in Programming
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.4k
エンターテイメント業界で利用されるAWS
demuyan
0
210
CA.swift19 恋するAIアプリ開発の裏側
oskmr
0
360
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
490
Java 22 Overview
kishida
1
180
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
760
What We Can Learn From OSS
inouehi
0
420
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
120
Node.js v22 で変わること
yosuke_furukawa
PRO
9
3.2k
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
130
Fragment Composition of GraphQL
quramy
5
870
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
28
6.3k
The Invisible Customer
myddelton
114
12k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
Bash Introduction
62gerente
604
210k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Statistics for Hackers
jakevdp
789
220k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
GitHub's CSS Performance
jonrohan
1025
450k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
We Have a Design System, Now What?
morganepeng
43
6.7k
Transcript
mrubyとWebサーバ Kyoto University okabe lab MATSUMOTO, Ryosuke
• 松本 亮介 (@matsumotory) • 京都大学 岡部研 博士課程
– ウェブサーバの高度化に耐えうる基盤設計 – 大規模、運用、セキュリティ、性能、拡張 • フリーランスエンジニア
Agenda • mrubyの概要 • mod_mrubyとngx_mruby • ab-‐mruby
mrubyの概要 • 組み込みスクリプト言語 – C/C++ホストアプリケーションを主 • 最適化が容易
– Pluggable、組み込みAPI • 拡張の書きやすさ – mrubyをC実装のフレームワークのようにも使える • 応用範囲が広い – 組み込み機器、アプリ組み込み • 数年後を見据えて – mrubyの要求するスペックに組み込み機器が追いつく
mod_mrubyとngx_mruby • Apache、nginxモジュールをRubyで書ける – Rubyの記述による生産性の向上 – Webサーバを容易に拡張 • 高速性・軽量性
– ApacheCon NA 2013でmod_luaと速度比較された – mod_mrubyをかなり意識 • Rubyアプリの延長でWebサーバ拡張 – Webサーバソフトウェアの違いをmrubyで吸収 – mrubyによるWebサーバ拡張記述の標準化
VirtualHost by mod_mruby
Proxy by mod_mruby
BasicAuth by mod_mruby
BasicAuth with Redis by mod_mruby
suEXEC by mod_mruby
Access control by traffic
demo • Apacheの内部情報をmod_mrubyでAPI化 • node.jsからAPI経由で情報をグラフ化 • hYp://mon.matsumoto-‐r.jp/ Apache
api.rb (Ruby) node.js browser WebSocket JSON mod_mruby
ab-‐mruby • abコマンドのmruby拡張 • Rubyでベンチマークパターンを記述 • Rubyでテストスイートを記述
• URLを元に動的に記述できる
ベンチマークパターン
テストスイート
ab-‐mruby実行 ab-‐mruby –m config.rb -‐M test.rb hYp://192.168.12.251/
まとめ • mod_mrubyとngx_mruby – Webサーバ拡張の敷居を下げたい – 高速性・軽量性
– mod_mruby、ngx_mrubyによる拡張記述標準化 • Register Underflow (hYps://registerunderflow.org/) – Stack Overflowのようなコンピュータ技術共有サイト – 日本語版 TwiYer: @matsumotory