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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
780
さくらインターネット研究所 アップデート2025年
matsumoto_r
PRO
0
850
リモートワークにおけるパッシブ疲労
matsumoto_r
PRO
6
5.4k
エンジニアのキャリアパスはどう描く? まつもとりーさんと考える後悔しないキャリア選択
matsumoto_r
PRO
10
2.4k
まつもとりーのこれまでとCOGNANOのこれから
matsumoto_r
PRO
0
360
2022年の研究所の評価制度振り返りと今後
matsumoto_r
PRO
0
860
VUCAワールドから紐解く組織や評価制度の変遷と再設計
matsumoto_r
PRO
9
26k
コンテナの研究開発から学ぶLinuxの要素技術
matsumoto_r
PRO
2
1.6k
開発者体験をさらに向上させる 事業と研究との連携
matsumoto_r
PRO
2
2.5k
Other Decks in Programming
See All in Programming
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
380
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
360
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.6k
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
130
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
500
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
130
Fundamentals of Software Engineering In the Age of AI
therealdanvega
1
240
CSC307 Lecture 14
javiergs
PRO
0
470
Agent Skills Workshop - AIへの頼み方を仕組み化する
gotalab555
15
8.5k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
130
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.7k
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
250
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
The browser strikes back
jonoalderson
0
780
エンジニアに許された特別な時間の終わり
watany
106
240k
GraphQLとの向き合い方2022年版
quramy
50
14k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
130
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
220
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
230
Marketing to machines
jonoalderson
1
5k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
370
How to Think Like a Performance Engineer
csswizardry
28
2.5k
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