Submit Search
Upload
Apache::LogFormat::Compiler YAPC::Asia 2013 Tokyo LT-Thon
•
3 likes
•
8,052 views
Masahiro Nagano
Follow
Apache::LogFormat::Compiler YAPC::Asia 2013 Tokyo LT-Thon
Read less
Read more
Technology
Report
Share
Report
Share
1 of 55
Download now
Download to read offline
Recommended
How to build a High Performance PSGI/Plack Server
How to build a High Performance PSGI/Plack Server
Masahiro Nagano
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
clkao
Gazelle - Plack Handler for performance freaks #yokohamapm
Gazelle - Plack Handler for performance freaks #yokohamapm
Masahiro Nagano
PSGI and Plack from first principles
PSGI and Plack from first principles
Perl Careers
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Masahiro Nagano
Operation Oriented Web Applications / Yokohama pm7
Operation Oriented Web Applications / Yokohama pm7
Masahiro Nagano
Perl: Hate it for the Right Reasons
Perl: Hate it for the Right Reasons
Matt Follett
Modern Perl
Modern Perl
Dave Cross
Recommended
How to build a High Performance PSGI/Plack Server
How to build a High Performance PSGI/Plack Server
Masahiro Nagano
AnyMQ, Hippie, and the real-time web
AnyMQ, Hippie, and the real-time web
clkao
Gazelle - Plack Handler for performance freaks #yokohamapm
Gazelle - Plack Handler for performance freaks #yokohamapm
Masahiro Nagano
PSGI and Plack from first principles
PSGI and Plack from first principles
Perl Careers
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Rhebok, High Performance Rack Handler / Rubykaigi 2015
Masahiro Nagano
Operation Oriented Web Applications / Yokohama pm7
Operation Oriented Web Applications / Yokohama pm7
Masahiro Nagano
Perl: Hate it for the Right Reasons
Perl: Hate it for the Right Reasons
Matt Follett
Modern Perl
Modern Perl
Dave Cross
Bootstrapping multidc observability stack
Bootstrapping multidc observability stack
Bram Vogelaar
Facebook的缓存系统
Facebook的缓存系统
yiditushe
About Data::ObjectDriver
About Data::ObjectDriver
Yoshiki Kurihara
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Bram Vogelaar
Triple Blitz Strike
Triple Blitz Strike
Denis Zhdanov
A reviravolta do desenvolvimento web
A reviravolta do desenvolvimento web
Wallace Reis
Introduction To Moco
Introduction To Moco
Naoya Ito
Follow the White Rabbit - Message Queues with PHP
Follow the White Rabbit - Message Queues with PHP
Eric Rodriguez (Hiring in Lex)
Static Typing in Vault
Static Typing in Vault
GlynnForrest
Observability with Consul Connect
Observability with Consul Connect
Bram Vogelaar
4069180 Caching Performance Lessons From Facebook
4069180 Caching Performance Lessons From Facebook
guoqing75
Creating Reusable Puppet Profiles
Creating Reusable Puppet Profiles
Bram Vogelaar
Securing Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp Vault
Bram Vogelaar
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1
Masahiro Nagano
Puppet and the HashiStack
Puppet and the HashiStack
Bram Vogelaar
Lua tech talk
Lua tech talk
Locaweb
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Bram Vogelaar
Construindo APIs Usando Rails
Construindo APIs Usando Rails
Fernando Kakimoto
Bootstrapping multidc observability stack
Bootstrapping multidc observability stack
Bram Vogelaar
Testing your infrastructure with litmus
Testing your infrastructure with litmus
Bram Vogelaar
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Masahiro Nagano
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LT
Masahiro Nagano
More Related Content
What's hot
Bootstrapping multidc observability stack
Bootstrapping multidc observability stack
Bram Vogelaar
Facebook的缓存系统
Facebook的缓存系统
yiditushe
About Data::ObjectDriver
About Data::ObjectDriver
Yoshiki Kurihara
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Bram Vogelaar
Triple Blitz Strike
Triple Blitz Strike
Denis Zhdanov
A reviravolta do desenvolvimento web
A reviravolta do desenvolvimento web
Wallace Reis
Introduction To Moco
Introduction To Moco
Naoya Ito
Follow the White Rabbit - Message Queues with PHP
Follow the White Rabbit - Message Queues with PHP
Eric Rodriguez (Hiring in Lex)
Static Typing in Vault
Static Typing in Vault
GlynnForrest
Observability with Consul Connect
Observability with Consul Connect
Bram Vogelaar
4069180 Caching Performance Lessons From Facebook
4069180 Caching Performance Lessons From Facebook
guoqing75
Creating Reusable Puppet Profiles
Creating Reusable Puppet Profiles
Bram Vogelaar
Securing Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp Vault
Bram Vogelaar
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1
Masahiro Nagano
Puppet and the HashiStack
Puppet and the HashiStack
Bram Vogelaar
Lua tech talk
Lua tech talk
Locaweb
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Bram Vogelaar
Construindo APIs Usando Rails
Construindo APIs Usando Rails
Fernando Kakimoto
Bootstrapping multidc observability stack
Bootstrapping multidc observability stack
Bram Vogelaar
Testing your infrastructure with litmus
Testing your infrastructure with litmus
Bram Vogelaar
What's hot
(20)
Bootstrapping multidc observability stack
Bootstrapping multidc observability stack
Facebook的缓存系统
Facebook的缓存系统
About Data::ObjectDriver
About Data::ObjectDriver
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Triple Blitz Strike
Triple Blitz Strike
A reviravolta do desenvolvimento web
A reviravolta do desenvolvimento web
Introduction To Moco
Introduction To Moco
Follow the White Rabbit - Message Queues with PHP
Follow the White Rabbit - Message Queues with PHP
Static Typing in Vault
Static Typing in Vault
Observability with Consul Connect
Observability with Consul Connect
4069180 Caching Performance Lessons From Facebook
4069180 Caching Performance Lessons From Facebook
Creating Reusable Puppet Profiles
Creating Reusable Puppet Profiles
Securing Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp Vault
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1
Puppet and the HashiStack
Puppet and the HashiStack
Lua tech talk
Lua tech talk
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Construindo APIs Usando Rails
Construindo APIs Usando Rails
Bootstrapping multidc observability stack
Bootstrapping multidc observability stack
Testing your infrastructure with litmus
Testing your infrastructure with litmus
Viewers also liked
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Masahiro Nagano
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LT
Masahiro Nagano
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Masahiro Nagano
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Masahiro Nagano
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
Masahiro Nagano
メルカリでのNorikraの活用、 Mackerelを添えて
メルカリでのNorikraの活用、 Mackerelを添えて
Masahiro Nagano
Viewers also liked
(6)
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LT
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリでのNorikraの活用、 Mackerelを添えて
メルカリでのNorikraの活用、 Mackerelを添えて
Similar to Apache::LogFormat::Compiler YAPC::Asia 2013 Tokyo LT-Thon
Implementing Comet using PHP
Implementing Comet using PHP
King Foo
Intro to PSGI and Plack
Intro to PSGI and Plack
Tatsuhiko Miyagawa
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Tatsuhiko Miyagawa
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
Aman Kohli
Presto anatomy
Presto anatomy
Dongmin Yu
PerlDancer for Perlers (FOSDEM 2011)
PerlDancer for Perlers (FOSDEM 2011)
xSawyer
Plack - LPW 2009
Plack - LPW 2009
Tatsuhiko Miyagawa
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기
NAVER D2
Psgi Plack Sfpm
Psgi Plack Sfpm
som_nangia
Psgi Plack Sfpm
Psgi Plack Sfpm
wilburlo
Beginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at Google
Ari Lerner
How Xslate Works
How Xslate Works
Goro Fuji
Going crazy with Node.JS and CakePHP
Going crazy with Node.JS and CakePHP
Mariano Iglesias
Wider than rails
Wider than rails
Alexey Nayden
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBox
bobmcwhirter
Rack Middleware
Rack Middleware
LittleBIGRuby
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
KAI CHU CHUNG
Plack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and servers
Tatsuhiko Miyagawa
Rack
Rack
Sarah Allen
PSGI/Plack OSDC.TW
PSGI/Plack OSDC.TW
Tatsuhiko Miyagawa
Similar to Apache::LogFormat::Compiler YAPC::Asia 2013 Tokyo LT-Thon
(20)
Implementing Comet using PHP
Implementing Comet using PHP
Intro to PSGI and Plack
Intro to PSGI and Plack
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
DSLing your System For Scalability Testing Using Gatling - Dublin Scala User ...
Presto anatomy
Presto anatomy
PerlDancer for Perlers (FOSDEM 2011)
PerlDancer for Perlers (FOSDEM 2011)
Plack - LPW 2009
Plack - LPW 2009
[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기
Psgi Plack Sfpm
Psgi Plack Sfpm
Psgi Plack Sfpm
Psgi Plack Sfpm
Beginner workshop to angularjs presentation at Google
Beginner workshop to angularjs presentation at Google
How Xslate Works
How Xslate Works
Going crazy with Node.JS and CakePHP
Going crazy with Node.JS and CakePHP
Wider than rails
Wider than rails
Complex Made Simple: Sleep Better with TorqueBox
Complex Made Simple: Sleep Better with TorqueBox
Rack Middleware
Rack Middleware
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
Plack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and servers
Rack
Rack
PSGI/Plack OSDC.TW
PSGI/Plack OSDC.TW
More from Masahiro Nagano
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Masahiro Nagano
Stream processing in Mercari - Devsumi 2015 autumn LT
Stream processing in Mercari - Devsumi 2015 autumn LT
Masahiro Nagano
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
Masahiro Nagano
Isucon makers casual talks
Isucon makers casual talks
Masahiro Nagano
blogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べ
Masahiro Nagano
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Masahiro Nagano
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
Masahiro Nagano
Webアプリケーションの パフォーマンス向上のコツ 実践編
Webアプリケーションの パフォーマンス向上のコツ 実践編
Masahiro Nagano
Webアプリケーションの パフォーマンス向上のコツ 概要編
Webアプリケーションの パフォーマンス向上のコツ 概要編
Masahiro Nagano
Webアプリケーションとメモリ
Webアプリケーションとメモリ
Masahiro Nagano
最近作ったN個のCPANモジュール Yokohama.pm #10
最近作ったN個のCPANモジュール Yokohama.pm #10
Masahiro Nagano
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
Masahiro Nagano
MHA for MySQL の話
MHA for MySQL の話
Masahiro Nagano
1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)
Masahiro Nagano
監視ツールの話
監視ツールの話
Masahiro Nagano
捗れ!Operation
捗れ!Operation
Masahiro Nagano
グラフで捗る話#2 kansai.pm#14
グラフで捗る話#2 kansai.pm#14
Masahiro Nagano
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Masahiro Nagano
More from Masahiro Nagano
(20)
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Stream processing in Mercari - Devsumi 2015 autumn LT
Stream processing in Mercari - Devsumi 2015 autumn LT
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
Isucon makers casual talks
Isucon makers casual talks
blogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べ
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
Webアプリケーションの パフォーマンス向上のコツ 実践編
Webアプリケーションの パフォーマンス向上のコツ 実践編
Webアプリケーションの パフォーマンス向上のコツ 概要編
Webアプリケーションの パフォーマンス向上のコツ 概要編
Webアプリケーションとメモリ
Webアプリケーションとメモリ
最近作ったN個のCPANモジュール Yokohama.pm #10
最近作ったN個のCPANモジュール Yokohama.pm #10
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
『How to build a High Performance PSGI/Plack Server』のその後と ISUCON3を受けての話題
MHA for MySQL の話
MHA for MySQL の話
1台から500台までのMySQL運用(YAPC::Asia編)
1台から500台までのMySQL運用(YAPC::Asia編)
監視ツールの話
監視ツールの話
捗れ!Operation
捗れ!Operation
グラフで捗る話#2 kansai.pm#14
グラフで捗る話#2 kansai.pm#14
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Designing Opeation Oriented Web Applications / YAPC::Asia Tokyo 2011
Recently uploaded
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
apidays
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
Nanddeep Nachan
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Jeffrey Haguewood
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
Rustici Software
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Khushali Kathiriya
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Edi Saputra
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
apidays
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
apidays
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Zilliz
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Juan lago vázquez
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Recently uploaded
(20)
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Apache::LogFormat::Compiler YAPC::Asia 2013 Tokyo LT-Thon
1.
ALFCYAPC::Asia 2013 Tokyo 前夜祭
LT-thon Masahiro Nagano @kazeburo
2.
Me • 長野雅広 Masahiro
Nagano • @kazeburo • PAUSE: KAZEBURO • Operations Engineer, Site Reliability • LINE Corp. Development support on LINE Familly, livedoor
3.
ALFC =
4.
Apache::LogFormat::Compiler
5.
Convert
6.
‘%h %l %u
%t "%r" %>s %b’
7.
to perl-code
8.
my $code =
<<EOF; sub { my ($env,$res,$length,$reqtime,$time) = @_; $time = time() if ! defined $time; my @lt = localtime($time);; my $t = sprintf '%02d/%s/%04d:%02d:%02d:%02d %s', $lt[3], $abbr[$lt[4]], $lt[5]+1900, $lt[2], $lt[1], $lt[0], $tz; q!! . ($env->{REMOTE_ADDR} || '-') . q! ! . '-' . q! ! . ($env->{REMOTE_USER} || '-') . q! ! . "[" . $t . "]" . q! "! . _safe($env->{REQUEST_METHOD}) . " " . _safe($env- >{REQUEST_URI}) . " " . $env->{SERVER_PROTOCOL} . q!" ! . $res->[0] . q! ! . (defined $length ? $length : '-') . q!! } EOF
9.
and compile
10.
my $log_line =
eval $code; $log_line->($env,$res);
11.
SYNOPSIS
12.
my $log_handler =
Apache::LogFormat::Compiler->new( '%h %l %u %t "%r" %>s %b' ); warn $log_handler->log_line($env,$res);
13.
use Plack::Builder; use Time::HiRes
qw/gettimeofday tv_interval/; use Apache::LogFormat::Compiler; my $log_handler = Apache::LogFormat::Compiler->new( '%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i" %D' ); my $compile_log_app = builder { enable sub { my $app = shift; sub { my $env = shift; my $t0 = [gettimeofday]; my $res = $app->(); my $reqtime = int(tv_interval($t0) * 1_000_000); $env->{psgi.error}->print($log_handler->log_line( $env,$res,6,$reqtime, $t0->[0])); } }; $app };
14.
OR
15.
Plack::Middleware::AxsLog yet another AccessLog
Middleware
16.
use Plack::Builder; builder { enable
'AxsLog', combined => 1, response_time => 1; $app };
17.
OR
18.
Plack::Middleware::AccessLog Plack (1.0023~)
19.
Benchmark
20.
0 10000 20000 30000 40000 50000 60000 51262 8826 Plack-1.0022 Plack-1.0029 Req/Sec
21.
A
22.
Story
23.
of
24.
ALFC とある Ops と
Dev のおはなし∼
25.
I'm
26.
tuning
27.
up
28.
this
29.
web
30.
application.
31.
NYTProf
32.
said
33.
that
34.
PM::AccessLog
35.
is
36.
slow
37.
Yes,
38.
I
39.
know.
40.
It's
41.
slow
42.
because..
43.
Ops Dev
44.
Why PM::AccessLog was slow?
45.
my %char_handler =
( h = sub { $env-{REMOTE_ADDR} || '-' }, t = sub { [ . $strftime-('%d/%b/%Y:%H:%M:%S %z', localtime) . ] }, r = sub { _safe($env-{REQUEST_METHOD}) . . _safe($env-{REQUEST_URI}) . . $env-{SERVER_PROTOCOL} }, ); my $char_handler = sub { my $char = shift; exists $char_handler{$char} ? $char_handler{$char}-($char) : -; }; $fmt =~ s! (?: %{(.+?)}([a-z]) | %(?:[])?([a-zA-Z%]) ) ! $1 ? $block_handler-($1, $2) : $char_handler-($3) !egx;
46.
I
47.
can't
48.
live
49.
with
50.
PM::AccessLog!! I
51.
have
52.
idea
53.
for
54.
speedup Ops Dev
55.
Solution: combine strings
56.
if ( $self-{format}
eq 'common' ) { $log_line = _string($env-{REMOTE_ADDR}) . . '- ' . _string($env-{REMOTE_USER}) . . q![!. $t . q!] ! . _safe(q!! . $env-{REQUEST_METHOD} . . $env-{REQUEST_URI} . . $env-{SERVER_PROTOCOL} . q! !) . $res-[0] . . (defined $length ? $length : '-'); } elsif ( $self-{format} eq 'ltsv' ) { ... }
57.
This middleware was released
as PM::AxsLog 2012-09-12
58.
This isn’t extensible, only
supports 3 formats. common,combined,ltsv but Fast.
59.
0 10000 20000 30000 40000 50000 60000 53315 8826 Plack-1.0022 AccessLog AxsLog-0.03 Req/Sec
60.
2013-03-01
61.
Ah,
62.
PM::AxsLog
63.
can't
64.
modify
65.
log_format? I
66.
want
67.
to
68.
store
69.
a
70.
value
71.
of
72.
X-Moe
73.
to
74.
logfile What's?
75.
PM::AxsLog
76.
is
77.
fast
78.
because
79.
it
80.
supports
81.
only
82.
fixed
83.
format. Ooops,
84.
I
85.
should
86.
return
87.
to
88.
use
89.
PM::AccessLog... Wait!
90.
I
91.
have
92.
another
93.
idea
94.
Ops Dev
95.
A few hours
later, Ops released Apache::LogFormat::Compiler (2013-03-01)
96.
AxsLog changed to use
ALFC
97.
0 11000 22000 33000 44000 55000 5464053315 AxsLog-0.03 AxsLog-0.12 Req/Sec
98.
2013-03-19
99.
@ops
100.
Can
101.
I
102.
replace
103.
PM::AccessLog
104.
by
105.
AxsLog? I
106.
recommend
107.
to
108.
use
109.
ALFC
110.
in
111.
PM::AccesssLog
112.
rather
113.
than
114.
replace. Because
115.
option
116.
of
117.
AxsLog
118.
isn’t
119.
comaptible
120.
with
121.
AccessLog Okay,
122.
I
123.
am
124.
looking
125.
forward
126.
to
127.
pull
128.
request. Ops Mr. committer
129.
Plack-1.0023 was released with
ALFC. And Ops removed text Faster than AccessLog from PM::AxsLog’s POD
130.
They lived happily
ever after. End
131.
Appendix
132.
Different of AxsLog and
AccessLog
133.
(1)
134.
AxsLog supports Duration
by default. AccessLog doesn’t support it. AccessLog::Timed required
135.
use Plack::Builder; builder { enable
'AxsLog', format = ‘%h %l %u %t %r %s %b %D’; $app };
136.
use Plack::Builder; builder { enable
'AccessLog::Timed', format = ‘%h %l %u %t %r %s %b %D’; $app };
137.
(2)
138.
Timing of timestamp
139.
AxsLog retrieve time() at
begining of a request. AccessLog retrieve time() at end of a request.
140.
sub call { my
($self,$env) = @_; my $time = time(); #before app my $res = $self-app-($env); $self-log_line($env,$res,$length,$time); } sub call { my ($self,$env) = @_; my $res = $self-app-($env); my $time = time(); #after app $self-log_line($env,$res,$length,$time); } PM::AxsLog PM::AccessLog
141.
予告
142.
“PSGI/Plack・Monocerosで学ぶ ハイパフォーマンス Webアプリケーションサーバの作り方” “How to build
a High Performance Web Application Server” YAPC::Asia 2013 Tokyo Day#1 11:00~ 藤原洋記念ホール
143.
“Inside amon2-livedoor-setup.pl with web
application development 2013” Kazuhiro Yappo Osawa YAPC::Asia 2013 Tokyo Day#1 13:00~ 多目的教室3
144.
“本当にあったレガシーな話” Daisuke Maki @lestrrat YAPC::Asia
2013 Tokyo Day#2 14:10~ 藤原洋記念ホール
145.
See
146.
you
147.
tomorrow!! 明日また来てください。 本物のWebAppサーバの高速化を 見せてあげますよ
148.
now on sale.
go to amazon.co.jp #fin
Download now