SlideShare una empresa de Scribd logo
1 de 111
•         id:winebarrel

•
•
•
•   LVS
•
•

➡
    msec
Web




App




DB
•
•

•
•

•
•
Web




App




DB
Web




• CentOS 5.x (VM)
• CPU x 2 Memory 2GB
• Apache 2.2.x
• mod_proxy_balancer
Web




PC
Web




munin
Web




access_log
Web




App




DB
App




• CentOS 5.x (VM)
• CPU x 4~8 Memory 4~16GB
• Mongrel 8~24 process
App




production.log
App




• munin
• FiveRuns
• New Relic
• Code reading
Web




App




DB
DB




• CentOS 5.x (1U)
• CPU x 8 Memory 16GB
• MySQL 5 (Tritonn)
DB




production.log SQL
• Web
        msec
• Web
        msec

• App
        msec
Web   App
• Passenger
• Passenger
➡App
•
•
•
•
•
➡   …
•
•
    • access_log
•
    • access_log
    • Apache
•
    • access_log
    • Apache
    •
•
    • access_log
    • Apache
    •
    •
• Ruby Enterprise Edition
• Ruby Enterprise Edition
➡                     Rails
•
•
    •
•
    •
        ‣
•
    •
        ‣
    •   Memcached
•
    •
        ‣
    •   Memcached

        ‣
•
    •
        ‣
    •   Memcached

        ‣
            ‣
•
    •
        ‣
    •   Memcached

        ‣
            ‣

➡
• mod_deflate
• mod_deflate
 ‣
•   Content-Type
• Content-Type
➡HTML
• Content-Type
➡HTML
•
• Content-Type
➡HTML
•
➡IE6 SPx Firefox
• Content-Type
➡HTML
•
➡IE6 SPx Firefox
• App
• Content-Type
➡HTML
•
➡IE6 SPx Firefox
• App
➡CPU
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.5/ext/apache2/
mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.5
PassengerRuby /usr/local/bin/ruby

RailsEnv production
PassengerMaxPoolSize 8
PassengerHighPerformance on
PassengerUseGlobalQueue on
PassengerTempDir /var/passenger/tmp

<VirtualHost *:80>
 AddOutputFilterByType DEFLATE text/html
 BrowserMatch .* no-gzip
 BrowserMatch "bMSIE [7-9]" !no-gzip
 BrowserMatch ^Mozilla/[5-9] !no-gzip
 BrowserMatch "bMSIE 6.*bSV1b" !no-gzip

 ServerName 127.0.0.1
 DocumentRoot /foo/bar/zoo/public
</VirtualHost>
•
    ‣
        .jp


    ‣
•
    ‣
        .jp


    ‣
•
    msec
•
•

➡
Ajax
•
    ‣ Windows
    ‣ IE7
    ‣ Fiddler2
    ‣ Firebug
•
    ‣ Windows
    ‣ IE7
    ‣ Fiddler2
    ‣ Firebug
•
    ‣ Windows
    ‣ IE7
    ‣ Fiddler2
    ‣ Firebug
•   1s
•   1s

•
•        1s

•
• Ajax
•
•
• asset id   App
• Git   RAILS_ASSET_ID
• Git   RAILS_ASSET_ID
• Git   RAILS_ASSET_ID



➡
• Ajax
• Ajax
• onload
•
•
    ‣
•
•
•

➡
• BB FlashBack
• BB FlashBack
•
• BB FlashBack
•
• Ajax   msec
•
•
•
サーバー・クライアントの ボトルネック調査と高速化

Más contenido relacionado

La actualidad más candente

Cloud browser testing with Gradle and Geb
Cloud browser testing with Gradle and GebCloud browser testing with Gradle and Geb
Cloud browser testing with Gradle and GebDavid Carr
 
運用 Exposed 管理及操作資料庫
運用 Exposed 管理及操作資料庫運用 Exposed 管理及操作資料庫
運用 Exposed 管理及操作資料庫Shengyou Fan
 
Web開発の技術選び、 好き嫌いでやってませんか 〜技術選びで注目すべきポイントとは〜
Web開発の技術選び、 好き嫌いでやってませんか  〜技術選びで注目すべきポイントとは〜Web開発の技術選び、 好き嫌いでやってませんか  〜技術選びで注目すべきポイントとは〜
Web開発の技術選び、 好き嫌いでやってませんか 〜技術選びで注目すべきポイントとは〜Yuki Okada
 
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17GreeceJS
 
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"Fwdays
 
遠端團隊專案建立與管理 remote team management 2016
遠端團隊專案建立與管理 remote team management 2016遠端團隊專案建立與管理 remote team management 2016
遠端團隊專案建立與管理 remote team management 2016Caesar Chi
 
Ci of js and apex using jasmine, phantom js and drone io df14
Ci of js and apex using jasmine, phantom js and drone io   df14Ci of js and apex using jasmine, phantom js and drone io   df14
Ci of js and apex using jasmine, phantom js and drone io df14Kevin Poorman
 
Threat Hunting Web Shells Using Splunk
Threat Hunting Web Shells Using SplunkThreat Hunting Web Shells Using Splunk
Threat Hunting Web Shells Using Splunkjamesmbower
 
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of JavascriptIrfan Maulana
 
Server Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsServer Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsJeff Geerling
 
Broccoli.js presentation
Broccoli.js presentationBroccoli.js presentation
Broccoli.js presentationJohn Fahey
 
Offline Capabilities of MindMeister
Offline Capabilities of MindMeisterOffline Capabilities of MindMeister
Offline Capabilities of MindMeistermindmeister
 
Django rest framework
Django rest frameworkDjango rest framework
Django rest frameworkBlank Chen
 
Pankov Artem.Improving drupal performance www.hr portal.ru.DrupalCamp Kyiv 2011
Pankov Artem.Improving drupal performance www.hr portal.ru.DrupalCamp Kyiv 2011Pankov Artem.Improving drupal performance www.hr portal.ru.DrupalCamp Kyiv 2011
Pankov Artem.Improving drupal performance www.hr portal.ru.DrupalCamp Kyiv 2011camp_drupal_ua
 
Building RESTful APIs
Building RESTful APIsBuilding RESTful APIs
Building RESTful APIsSilota Inc.
 

La actualidad más candente (20)

Cloud browser testing with Gradle and Geb
Cloud browser testing with Gradle and GebCloud browser testing with Gradle and Geb
Cloud browser testing with Gradle and Geb
 
運用 Exposed 管理及操作資料庫
運用 Exposed 管理及操作資料庫運用 Exposed 管理及操作資料庫
運用 Exposed 管理及操作資料庫
 
Web開発の技術選び、 好き嫌いでやってませんか 〜技術選びで注目すべきポイントとは〜
Web開発の技術選び、 好き嫌いでやってませんか  〜技術選びで注目すべきポイントとは〜Web開発の技術選び、 好き嫌いでやってませんか  〜技術選びで注目すべきポイントとは〜
Web開発の技術選び、 好き嫌いでやってませんか 〜技術選びで注目すべきポイントとは〜
 
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
 
Rack
RackRack
Rack
 
Prototypejs
PrototypejsPrototypejs
Prototypejs
 
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"
Oleksandr Skachkov "Running С# in your Web Browser with WebAssembly"
 
Geb presentation
Geb presentationGeb presentation
Geb presentation
 
URI handlers
URI handlersURI handlers
URI handlers
 
遠端團隊專案建立與管理 remote team management 2016
遠端團隊專案建立與管理 remote team management 2016遠端團隊專案建立與管理 remote team management 2016
遠端團隊專案建立與管理 remote team management 2016
 
Ci of js and apex using jasmine, phantom js and drone io df14
Ci of js and apex using jasmine, phantom js and drone io   df14Ci of js and apex using jasmine, phantom js and drone io   df14
Ci of js and apex using jasmine, phantom js and drone io df14
 
Threat Hunting Web Shells Using Splunk
Threat Hunting Web Shells Using SplunkThreat Hunting Web Shells Using Splunk
Threat Hunting Web Shells Using Splunk
 
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
 
Redis At 6Wunderkinder
Redis At 6WunderkinderRedis At 6Wunderkinder
Redis At 6Wunderkinder
 
Server Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsServer Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.js
 
Broccoli.js presentation
Broccoli.js presentationBroccoli.js presentation
Broccoli.js presentation
 
Offline Capabilities of MindMeister
Offline Capabilities of MindMeisterOffline Capabilities of MindMeister
Offline Capabilities of MindMeister
 
Django rest framework
Django rest frameworkDjango rest framework
Django rest framework
 
Pankov Artem.Improving drupal performance www.hr portal.ru.DrupalCamp Kyiv 2011
Pankov Artem.Improving drupal performance www.hr portal.ru.DrupalCamp Kyiv 2011Pankov Artem.Improving drupal performance www.hr portal.ru.DrupalCamp Kyiv 2011
Pankov Artem.Improving drupal performance www.hr portal.ru.DrupalCamp Kyiv 2011
 
Building RESTful APIs
Building RESTful APIsBuilding RESTful APIs
Building RESTful APIs
 

Similar a サーバー・クライアントの ボトルネック調査と高速化

Open Source Logging and Metrics Tools
Open Source Logging and Metrics ToolsOpen Source Logging and Metrics Tools
Open Source Logging and Metrics ToolsPhase2
 
Open Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsOpen Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsPhase2
 
HTML5 History & Features
HTML5 History & FeaturesHTML5 History & Features
HTML5 History & FeaturesDave Ross
 
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxEasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxrtCamp
 
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스Rhio Kim
 
Front end for back end developers
Front end for back end developersFront end for back end developers
Front end for back end developersWojciech Bednarski
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-wayRobert Lujo
 
Malware analysis using volatility
Malware analysis using volatilityMalware analysis using volatility
Malware analysis using volatilityYashashree Gund
 
下吧开发总结
下吧开发总结下吧开发总结
下吧开发总结Night Sailer
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowSpiffy
 
Stress Free Deployment - Confoo 2011
Stress Free Deployment  - Confoo 2011Stress Free Deployment  - Confoo 2011
Stress Free Deployment - Confoo 2011Bachkoutou Toutou
 
Best practices for developing your Magento Commerce on Cloud
Best practices for developing your Magento Commerce on CloudBest practices for developing your Magento Commerce on Cloud
Best practices for developing your Magento Commerce on CloudOleg Posyniak
 
FMCakeMix、CakePHP 2.0対応への道
FMCakeMix、CakePHP 2.0対応への道FMCakeMix、CakePHP 2.0対応への道
FMCakeMix、CakePHP 2.0対応への道Atsushi Matsuo
 
Orange@php conf
Orange@php confOrange@php conf
Orange@php confHash Lin
 
Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧Orange Tsai
 
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...Hann Yu-Ju Huang
 
Phpstormを使いこなす
Phpstormを使いこなすPhpstormを使いこなす
Phpstormを使いこなすYutaka Tachibana
 

Similar a サーバー・クライアントの ボトルネック調査と高速化 (20)

Open Source Logging and Metrics Tools
Open Source Logging and Metrics ToolsOpen Source Logging and Metrics Tools
Open Source Logging and Metrics Tools
 
Open Source Logging and Monitoring Tools
Open Source Logging and Monitoring ToolsOpen Source Logging and Monitoring Tools
Open Source Logging and Monitoring Tools
 
HTML5 History & Features
HTML5 History & FeaturesHTML5 History & Features
HTML5 History & Features
 
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxEasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
 
Blazor
BlazorBlazor
Blazor
 
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
 
Front end for back end developers
Front end for back end developersFront end for back end developers
Front end for back end developers
 
Django dev-env-my-way
Django dev-env-my-wayDjango dev-env-my-way
Django dev-env-my-way
 
Malware analysis using volatility
Malware analysis using volatilityMalware analysis using volatility
Malware analysis using volatility
 
下吧开发总结
下吧开发总结下吧开发总结
下吧开发总结
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should Know
 
Stress Free Deployment - Confoo 2011
Stress Free Deployment  - Confoo 2011Stress Free Deployment  - Confoo 2011
Stress Free Deployment - Confoo 2011
 
Best practices for developing your Magento Commerce on Cloud
Best practices for developing your Magento Commerce on CloudBest practices for developing your Magento Commerce on Cloud
Best practices for developing your Magento Commerce on Cloud
 
FMCakeMix、CakePHP 2.0対応への道
FMCakeMix、CakePHP 2.0対応への道FMCakeMix、CakePHP 2.0対応への道
FMCakeMix、CakePHP 2.0対応への道
 
DrupalCon 2011 Highlight
DrupalCon 2011 HighlightDrupalCon 2011 Highlight
DrupalCon 2011 Highlight
 
Orange@php conf
Orange@php confOrange@php conf
Orange@php conf
 
Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧
 
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
Building a KVM-based Hypervisor for a Heterogeneous System Architecture Compl...
 
Phpstormを使いこなす
Phpstormを使いこなすPhpstormを使いこなす
Phpstormを使いこなす
 
InfoTalk#17 1st
InfoTalk#17 1stInfoTalk#17 1st
InfoTalk#17 1st
 

Más de Sugawara Genki

Elixir Meetup #1 Loggerの構造と拡張
Elixir Meetup #1 Loggerの構造と拡張Elixir Meetup #1 Loggerの構造と拡張
Elixir Meetup #1 Loggerの構造と拡張Sugawara Genki
 
SQLによるDynamoDBの操作
SQLによるDynamoDBの操作SQLによるDynamoDBの操作
SQLによるDynamoDBの操作Sugawara Genki
 
Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装Sugawara Genki
 
DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴Sugawara Genki
 
20140930 anything as_code
20140930 anything as_code20140930 anything as_code
20140930 anything as_codeSugawara Genki
 
2014 09-23 Mechanism of Gossip protocol
2014 09-23 Mechanism of Gossip protocol2014 09-23 Mechanism of Gossip protocol
2014 09-23 Mechanism of Gossip protocolSugawara Genki
 
CloudWatch Logsについて
CloudWatch LogsについてCloudWatch Logsについて
CloudWatch LogsについてSugawara Genki
 
ナウなヤングにCloud Formationが流行ってほしい
ナウなヤングにCloud Formationが流行ってほしいナウなヤングにCloud Formationが流行ってほしい
ナウなヤングにCloud Formationが流行ってほしいSugawara Genki
 
AWSをコードで定義する
AWSをコードで定義するAWSをコードで定義する
AWSをコードで定義するSugawara Genki
 
クックパッドの開発について
クックパッドの開発についてクックパッドの開発について
クックパッドの開発についてSugawara Genki
 
Gitを使ったRoute53の管理
Gitを使ったRoute53の管理Gitを使ったRoute53の管理
Gitを使ったRoute53の管理Sugawara Genki
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較Sugawara Genki
 
EC2の天井を超える
EC2の天井を超えるEC2の天井を超える
EC2の天井を超えるSugawara Genki
 
EC2でkeepalived+LVS(DSR)
EC2でkeepalived+LVS(DSR)EC2でkeepalived+LVS(DSR)
EC2でkeepalived+LVS(DSR)Sugawara Genki
 
クックパッドでのVPC移行について
クックパッドでのVPC移行についてクックパッドでのVPC移行について
クックパッドでのVPC移行についてSugawara Genki
 
ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証Sugawara Genki
 
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
20111012 jaws ug-tokyo勉強会-cookpad-on-aws20111012 jaws ug-tokyo勉強会-cookpad-on-aws
20111012 jaws ug-tokyo勉強会-cookpad-on-awsSugawara Genki
 

Más de Sugawara Genki (20)

Elixir Meetup #1 Loggerの構造と拡張
Elixir Meetup #1 Loggerの構造と拡張Elixir Meetup #1 Loggerの構造と拡張
Elixir Meetup #1 Loggerの構造と拡張
 
SQLによるDynamoDBの操作
SQLによるDynamoDBの操作SQLによるDynamoDBの操作
SQLによるDynamoDBの操作
 
Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装
 
200k/sec
200k/sec200k/sec
200k/sec
 
DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴DynamoDBのまえにキャッシュおく奴
DynamoDBのまえにキャッシュおく奴
 
20140930 anything as_code
20140930 anything as_code20140930 anything as_code
20140930 anything as_code
 
2014 09-23 Mechanism of Gossip protocol
2014 09-23 Mechanism of Gossip protocol2014 09-23 Mechanism of Gossip protocol
2014 09-23 Mechanism of Gossip protocol
 
CloudWatch Logsについて
CloudWatch LogsについてCloudWatch Logsについて
CloudWatch Logsについて
 
MHA on AWS+Rails
MHA on AWS+RailsMHA on AWS+Rails
MHA on AWS+Rails
 
ナウなヤングにCloud Formationが流行ってほしい
ナウなヤングにCloud Formationが流行ってほしいナウなヤングにCloud Formationが流行ってほしい
ナウなヤングにCloud Formationが流行ってほしい
 
AWSをコードで定義する
AWSをコードで定義するAWSをコードで定義する
AWSをコードで定義する
 
クックパッドの開発について
クックパッドの開発についてクックパッドの開発について
クックパッドの開発について
 
Gitを使ったRoute53の管理
Gitを使ったRoute53の管理Gitを使ったRoute53の管理
Gitを使ったRoute53の管理
 
ChefとPuppetの比較
ChefとPuppetの比較ChefとPuppetの比較
ChefとPuppetの比較
 
EC2の天井を超える
EC2の天井を超えるEC2の天井を超える
EC2の天井を超える
 
EC2でkeepalived+LVS(DSR)
EC2でkeepalived+LVS(DSR)EC2でkeepalived+LVS(DSR)
EC2でkeepalived+LVS(DSR)
 
Puppet on AWS
Puppet on AWSPuppet on AWS
Puppet on AWS
 
クックパッドでのVPC移行について
クックパッドでのVPC移行についてクックパッドでのVPC移行について
クックパッドでのVPC移行について
 
ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証ゴシッププロトコルによる冗長化と負荷分散の検証
ゴシッププロトコルによる冗長化と負荷分散の検証
 
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
20111012 jaws ug-tokyo勉強会-cookpad-on-aws20111012 jaws ug-tokyo勉強会-cookpad-on-aws
20111012 jaws ug-tokyo勉強会-cookpad-on-aws
 

サーバー・クライアントの ボトルネック調査と高速化