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.3k
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
0
660
さくらインターネット研究所 アップデート2025年
matsumoto_r
PRO
0
750
リモートワークにおけるパッシブ疲労
matsumoto_r
PRO
6
5.3k
エンジニアのキャリアパスはどう描く? まつもとりーさんと考える後悔しないキャリア選択
matsumoto_r
PRO
10
2.3k
まつもとりーのこれまでとCOGNANOのこれから
matsumoto_r
PRO
0
320
2022年の研究所の評価制度振り返りと今後
matsumoto_r
PRO
0
800
VUCAワールドから紐解く組織や評価制度の変遷と再設計
matsumoto_r
PRO
9
26k
コンテナの研究開発から学ぶLinuxの要素技術
matsumoto_r
PRO
2
1.5k
開発者体験をさらに向上させる 事業と研究との連携
matsumoto_r
PRO
2
2.4k
Other Decks in Programming
See All in Programming
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
Six and a half ridiculous things to do with Quarkus
hollycummins
0
210
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
11
7k
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
740
CSC509 Lecture 05
javiergs
PRO
0
310
Developer Joy - The New Paradigm
hollycummins
1
330
NIKKEI Tech Talk#38
cipepser
0
110
品質ワークショップをやってみた
nealle
0
600
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
870
AI Agent 時代的開發者生存指南
eddie
4
2k
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
1
310
Featured
See All Featured
For a Future-Friendly Web
brad_frost
180
10k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
The Pragmatic Product Professional
lauravandoore
36
7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
560
The Language of Interfaces
destraynor
162
25k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Git: the NoSQL Database
bkeepers
PRO
431
66k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Automating Front-end Workflow
addyosmani
1371
200k
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