Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
Pythonユーザのための構成管理入門 #pyconapac
Takeshi Komiya
[JANOG35.5] WhiteBox SW検証 ~サーバサイド編~
gree_tech
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
akira6592
Vagrant環境のAnsibleを速くしたい
Kazuhiro Oinuma
全部見せ。マイクロソフトのゲーム開発テクノロジー最新Update
Daisuke Masubuchi
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
toshi_pp
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
Daisuke Masubuchi
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化
Shuichi Yukimoto
1
of
19
Top clipped slide
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Jun. 2, 2015
•
0 likes
5 likes
×
Be the first to like this
Show More
•
38,726 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Technology
Slide for Shibuya.pm Tech Talk #17 LT
Masahiro Nagano
Follow
Advertisement
Advertisement
Advertisement
Recommended
Mackerel & Norikra mackerel meetup #4 LT
Masahiro Nagano
36.1K views
•
22 slides
メルカリでのNorikraの活用、 Mackerelを添えて
Masahiro Nagano
70.5K views
•
39 slides
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Masahiro Nagano
54.1K views
•
89 slides
Mackerelによる 簡単サーバー管理入門と発展形
Shinji Tanaka
8K views
•
44 slides
Performance and Scalability of Web Service
Shinji Tanaka
1.9K views
•
69 slides
Devlove mackerel
Daisuke Kasuya
2.6K views
•
36 slides
More Related Content
Slideshows for you
(20)
Pythonユーザのための構成管理入門 #pyconapac
Takeshi Komiya
•
10.1K views
[JANOG35.5] WhiteBox SW検証 ~サーバサイド編~
gree_tech
•
2.3K views
Ansibleではじめるサーバー・ネットワークの自動化(2018/07/05)
akira6592
•
18.3K views
Vagrant環境のAnsibleを速くしたい
Kazuhiro Oinuma
•
5.3K views
全部見せ。マイクロソフトのゲーム開発テクノロジー最新Update
Daisuke Masubuchi
•
1.3K views
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
toshi_pp
•
43.1K views
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
Daisuke Masubuchi
•
2.4K views
nginx + lua + ObjectStorage ファイルアップロード/ダウンロードの高速化
Shuichi Yukimoto
•
3.3K views
フィードフォースと AWS と私
a know
•
4.9K views
入門者の方向け Azure PlayFab の簡単な紹介
YutoNishine
•
1.4K views
Playfabmeetup#4
勝成 鈴江
•
359 views
Azure Service Fabric概要
Daiyu Hatakeyama
•
681 views
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
さくらインターネット株式会社
•
2.9K views
st2-docker ことはじめ
Shu Sugimoto
•
2.3K views
さくらのインフラコード
Yukihiko SAWANOBORI
•
3.2K views
lua_nginx_module JSON-RPC 2.0 Batch Request
mosa siru
•
7K views
CEDEC2015_OpenStack で運用する Private Cloud の泥臭い(リアル)な話
gree_tech
•
4.1K views
松本克彦 ピグにおけるリアルタイムランキングの導入
matsumoto_katsuhiko
•
2.6K views
Azure Service Fabric 概要
Daiyu Hatakeyama
•
3.8K views
Introduction of Azure Docker Integration
Takekazu Omi
•
1.4K views
Similar to Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
(20)
HerokuでRailsアプリ運用の パフォーマンス、SEO対策
Salesforce Developers Japan
•
3.4K views
CakePHP最新情報 PHPカンファレンス関西2012
ichikaway
•
1.9K views
Play jjug2012spring
Takafumi Ikeda
•
4.7K views
Gearpump, akka based Distributed Reactive Realtime Engine
Sotaro Kimura
•
517 views
HBase Meetup Tokyo Summer 2015 #hbasejp
Cloudera Japan
•
3.1K views
db tech showcase 東京 2014 - Couchbase Serverを用いた大規模データ収集基盤
Daichi Koike
•
1.6K views
本番環境で使える実行コード記録機能
mametter
•
760 views
Paa s and oss
Yusuke Ando
•
3K views
appengine ja night #25 Google App Engine for PHP
Ryo Yamasaki
•
15.9K views
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
•
1.3K views
AWS クックパッドの運用事例
Satoshi Takada
•
12.2K views
PythonのGUI_2018 with NSEG
Jun Okazaki
•
2.5K views
喋って、DEMOで 伝える 僕がHerokuを使う理由
Masaru Gushiken
•
1.3K views
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
•
15.3K views
HTML5時代のwebクリエイターに必要なこと
Masakazu Muraoka
•
1.2K views
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
Yuki Kanazawa
•
6.2K views
ゲームサーバー勉強会 Part1
HEXADRIVE Inc.
•
4.1K views
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
gree_tech
•
4.6K views
Azure Kubernetes ServiceとCI/CD pipeline
ryosuke matsumura
•
471 views
20191120 beyondstudy#21 kitaoka
beyond Co., Ltd.
•
671 views
Advertisement
More from Masahiro Nagano
(20)
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Masahiro Nagano
•
47.2K views
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Masahiro Nagano
•
75.7K views
Big Master Data PHP BLT #1
Masahiro Nagano
•
38.9K views
Stream processing in Mercari - Devsumi 2015 autumn LT
Masahiro Nagano
•
3K views
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
Masahiro Nagano
•
42.2K views
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Masahiro Nagano
•
38.3K views
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
Masahiro Nagano
•
18.3K views
Isucon makers casual talks
Masahiro Nagano
•
3K views
blogサービスの全文検索の話 - #groonga を囲む夕べ
Masahiro Nagano
•
10.9K views
Gazelle - Plack Handler for performance freaks #yokohamapm
Masahiro Nagano
•
13K views
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
•
32.9K views
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Masahiro Nagano
•
11.8K views
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
Masahiro Nagano
•
55.3K views
Webアプリケーションの パフォーマンス向上のコツ 実践編
Masahiro Nagano
•
40.3K views
Webアプリケーションの パフォーマンス向上のコツ 概要編
Masahiro Nagano
•
36.4K views
Webアプリケーションとメモリ
Masahiro Nagano
•
13.9K views
最近作ったN個のCPANモジュール Yokohama.pm #10
Masahiro Nagano
•
2.7K views
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
Masahiro Nagano
•
8.6K views
How to build a High Performance PSGI/Plack Server
Masahiro Nagano
•
18.6K views
Apache::LogFormat::Compiler YAPC::Asia 2013 Tokyo LT-Thon
Masahiro Nagano
•
8K views
Recently uploaded
(20)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
NTT DATA Technology & Innovation
•
0 views
Üslup ve tercüme.pdf
1Hmmtks
•
2 views
統計学の攻略_統計的仮説検定の9パターン.pdf
akipii Oga
•
200 views
ChatGPT触ってみた
infinite_loop
•
56 views
初学者のためのプロンプトエンジニアリング実践.pptx
Akifumi Niida
•
422 views
Voyager: An Open-Ended Embodied Agent with Large Language Models
harmonylab
•
0 views
AIEXPO_CDLE名古屋紹介
KotaMiyano
•
3 views
Kubernetes超入門
Takashi Suzuki
•
5 views
点群SegmentationのためのTransformerサーベイ
Takuya Minagawa
•
13 views
通信プロトコルについて
iPride Co., Ltd.
•
6 views
TestSIP (1).pdf
DeependraSingh712859
•
2 views
MC-800DMT intrusion detector manual
Vedard Security Alarm System Store
•
3 views
【DL輪読会】DINOv2: Learning Robust Visual Features without Supervision
Deep Learning JP
•
34 views
20230601_Visual_IoTLT_vol14_kitazaki_v1.pdf
Ayachika Kitazaki
•
57 views
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
175 views
Windows ChatGPT Bing AI.pptx
Atomu Hidaka
•
6 views
20230602_enebular_meetup_kitazaki_v1.pdf
Ayachika Kitazaki
•
22 views
Wandb LLM Webinar May 30 2023 (配布用).pdf
Yuya Yamamoto
•
0 views
オレオレになりがちなテスト計画を見直した話
terahide
•
36 views
統計学の攻略_正規分布ファミリーの全体像.pdf
akipii Oga
•
201 views
Advertisement
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN
modules for Performance 長野雅広 @kazeburo Shibuya Perl Mongers テクニカルトーク #17 LT
Me • 長野雅広(Masahiro Nagano) •
@kazeburo • Mercari, Inc. • Operations Engineer, Site Reliability • PHP, YAML
Gazellehttps://www.flickr.com/photos/ckindel/424610604/
Gazelle • Plack Handler
/ PSGI Server • HTTP/1.1 Web Server • Starlet compatible / Hot Deploy • Fast
Benchmark 0 100000 200000 300000 400000 starman Starlet Gazelle 96577 60562 43588 334752 92027 48888 hello
world counter https://gist.github.com/kazeburo/71603b4bc0994e2222b4
なぜGazelleは速いのか • Simple Architecture •
Prefork • no keepalive support • Mostly written in XS • Ultra fast HTTP processing using picohttpparser • Use accept4(2) and writev(2)
Gazelleの使いどころ • ISUCON!!!1 • ソーシャルゲーム、広告、大規模サイト •
高度に最適化されたWebアプリケーショ ン • 普通に使えます
実績 • livedoorBlog • 日本最大級のBlogサービス •
Starletからの移行でCPU使用率が 1~3%下がった
WWW::Form::UrlEncoded WWW::Form::UrlEncoded::XS parser and builder
for application/x-www-form-urlencoded
s_id=1&type=foo&message1=foo+bar+baz+hoge +hoge+hoge+hoge+hogehogemessage2= %E6%97%A5%E6%9C%AC%E8%AA%9E %E3%81%A7%E3%81%99%E3%82%88%E3%83%BC (s_id => 1,
type => 'foo', message1 => 'foo bar baz hoge hoge hoge hoge hogehoge', message2 => '日本語ですよー') parse build
Rate wwwform_pp wwwform_xs
urlencode_xs wwwform_pp 21764/s -- -90% -91% wwwform_xs 227555/s 946% -- -1% urlencode_xs 229375/s 954% 1% -- parseのベンチマークで9.5倍 * URL::Encode(::XS)は若干互換性がない
Rate use_uri concat_escape
build_xs use_uri 23640/s -- -32% -97% concat_escape 34796/s 47% -- -96% build_xs 843158/s 3467% 2323% -- buildのベンチマークで35倍
W::F::UE::XS使いどころ • Query String付きのリクエストが非常に多い ところ •
Plack::Requestと互換性あるので置き換え可 能 • Query String付きのURLを大量に生成する場合 • URL::Builderがおすすめ
Cookie::Baker Cookie::Baker::XS
my $cookie =
bake_cookie('foo', { value => 'val', path => "test", domain => '.example.com', expires => '+24h' }); $headers->push_header(‘Set-Cookie’,$cookie); my $cookie_hashref = crush_cookie($headers->header(‘Cookie’)); build parse
Benchmark: running pp,
xs for at least 1 CPU seconds... crush_pp: 1 wallclock secs @ 16592.59/s (n=17920) crush_xs: 1 wallclock secs @ 182043.81/s (n=191146) Rate pp xs crush_pp 16593/s -- -91% crush_xs 182044/s 997% -- Benchmark: running pp, xs for at least 1 CPU seconds... crush_pp: 2 wallclock secs @ 201749.06/s (n=213854) crush_xs: 0 wallclock secs @ 1042617.50/s (n=1251141) Rate pp xs crush_pp 201749/s -- -81% crush_xs 1042618/s 417% -- ## length($cookie) == 675 ## length($cookie) == 17
C::B使いどころ • Cookie::BakerはすでにPlack@1.0035- TRIALで使われている • Cookieのparseだけを行うシンプルな モジュールがなかった •
Cookie::Baker::XSを入れる事 で”parse”が高速化
C::B::XS使いどころ • Cookieがすごくたくさん付いて来るサ イト • Google
Analytics, Ninja, Ad, Ad tracking, Session and more
使ってくださいまし
Advertisement