Suche senden
Hochladen
ウェブアプリケーションのパフォーマンスチューニング
•
2 gefällt mir
•
2,479 views
Yasuhiro Onishi
Folgen
ウェブアプリケーショのパフォーマンスチューニング - Devel::KYTProf 使って!
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 34
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
Kiyokazu Kaba
スマートフォンWebアプリ最適化”3つの極意”
スマートフォンWebアプリ最適化”3つの極意”
Koji Ishimoto
Measuring Web Performance - 自己満足で終わらないためのパフォーマンス計測 -
Measuring Web Performance - 自己満足で終わらないためのパフォーマンス計測 -
Koji Ishimoto
オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
[jjug] Java と Benchmark
[jjug] Java と Benchmark
Tokuhiro Matsuno
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
Tokuhiro Matsuno
Web屋の運用その極意
Web屋の運用その極意
Michihito Shigemura
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
Masahiro Haraoka
Empfohlen
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
Kiyokazu Kaba
スマートフォンWebアプリ最適化”3つの極意”
スマートフォンWebアプリ最適化”3つの極意”
Koji Ishimoto
Measuring Web Performance - 自己満足で終わらないためのパフォーマンス計測 -
Measuring Web Performance - 自己満足で終わらないためのパフォーマンス計測 -
Koji Ishimoto
オフラインファーストの思想と実践
オフラインファーストの思想と実践
Shumpei Shiraishi
[jjug] Java と Benchmark
[jjug] Java と Benchmark
Tokuhiro Matsuno
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
Tokuhiro Matsuno
Web屋の運用その極意
Web屋の運用その極意
Michihito Shigemura
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
Masahiro Haraoka
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
Godai Nakamura
2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
第2回勉強会資料 岩本(配布用)
第2回勉強会資料 岩本(配布用)
Takahisa Iwamoto
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
Takao Tetsuro
Yapc fukuoka crust
Yapc fukuoka crust
Tokuhiro Matsuno
WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来
Jun-ichi Sakamoto
モバイル制作におけるパフォーマンス最適化について
モバイル制作におけるパフォーマンス最適化について
Koji Ishimoto
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
Kazunari Hara
Springを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしよう
土岐 孝平
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知
zaru sakuraba
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
Takahiro Okumura
Backlogでの Perlのつかいかた
Backlogでの Perlのつかいかた
Ryuzo Yamamoto
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解
都元ダイスケ Miyamoto
PWA 総まとめ @ABC 2018 Spring
PWA 総まとめ @ABC 2018 Spring
Ryu Shindo
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
Sato Shun
Long Life Web Performance Optimization
Long Life Web Performance Optimization
Koji Ishimoto
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
Behind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship Program
LINE Corporation
AzureでLaravel動かしてみた
AzureでLaravel動かしてみた
Keiji Kamebuchi
Web frontend performance tuning
Web frontend performance tuning
ssuser3c214d
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
Hiroshi Kawada
Weitere ähnliche Inhalte
Was ist angesagt?
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
Godai Nakamura
2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
miso- soup3
第2回勉強会資料 岩本(配布用)
第2回勉強会資料 岩本(配布用)
Takahisa Iwamoto
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
Takao Tetsuro
Yapc fukuoka crust
Yapc fukuoka crust
Tokuhiro Matsuno
WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来
Jun-ichi Sakamoto
モバイル制作におけるパフォーマンス最適化について
モバイル制作におけるパフォーマンス最適化について
Koji Ishimoto
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
Kazunari Hara
Springを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしよう
土岐 孝平
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知
zaru sakuraba
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
Takahiro Okumura
Backlogでの Perlのつかいかた
Backlogでの Perlのつかいかた
Ryuzo Yamamoto
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解
都元ダイスケ Miyamoto
PWA 総まとめ @ABC 2018 Spring
PWA 総まとめ @ABC 2018 Spring
Ryu Shindo
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
Takahiro Moteki
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
Sato Shun
Long Life Web Performance Optimization
Long Life Web Performance Optimization
Koji Ishimoto
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
Behind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship Program
LINE Corporation
AzureでLaravel動かしてみた
AzureでLaravel動かしてみた
Keiji Kamebuchi
Was ist angesagt?
(20)
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
第2回勉強会資料 岩本(配布用)
第2回勉強会資料 岩本(配布用)
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
WebAssemblyとBlazor 、WebAssembly System Interfaceでコンテナライズの設計を解説
Yapc fukuoka crust
Yapc fukuoka crust
WebAssemblyが切り拓くフロントエンドWeb開発の未来
WebAssemblyが切り拓くフロントエンドWeb開発の未来
モバイル制作におけるパフォーマンス最適化について
モバイル制作におけるパフォーマンス最適化について
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
アメブロ2016 アメブロフロント刷新にみる ひかりとつらみ
Springを使ったwebアプリにリファクタリングしよう
Springを使ったwebアプリにリファクタリングしよう
Service workerとwebプッシュ通知
Service workerとwebプッシュ通知
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
Backlogでの Perlのつかいかた
Backlogでの Perlのつかいかた
Spring Day 2016 - Web API アクセス制御の最適解
Spring Day 2016 - Web API アクセス制御の最適解
PWA 総まとめ @ABC 2018 Spring
PWA 総まとめ @ABC 2018 Spring
[社内勉強会]ELBとALBと数万スパイク負荷テスト
[社内勉強会]ELBとALBと数万スパイク負荷テスト
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
アプリエンジニアからクラウド専用のインフラエンジニアになってみて
Long Life Web Performance Optimization
Long Life Web Performance Optimization
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Behind-the-Scenes and Goals of LINE Summer Internship Program
Behind-the-Scenes and Goals of LINE Summer Internship Program
AzureでLaravel動かしてみた
AzureでLaravel動かしてみた
Ähnlich wie ウェブアプリケーションのパフォーマンスチューニング
Web frontend performance tuning
Web frontend performance tuning
ssuser3c214d
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
Hiroshi Kawada
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
第12回rest勉強会 これまでの補足・展望編
第12回rest勉強会 これまでの補足・展望編
ksimoji
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
Masato Noguchi
Html5とアクセシビリティ
Html5とアクセシビリティ
Masakazu Muraoka
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
Akihiro Kuwano
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング
Innova Inc.
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
Core Concept Technologies
Effective web performance tuning for smartphone
Effective web performance tuning for smartphone
dena_study
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Shotaro Suzuki
○○したら受託開発が180°変わった
○○したら受託開発が180°変わった
Atsushi Harada
ブラウザのPerformance APIの話
ブラウザのPerformance APIの話
Hiroshi Kawada
東海GTUG 20110910発表資料
東海GTUG 20110910発表資料
Kenji NAKAGAKI
Zealup - React
Zealup - React
Masahiro Yanou
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConView
Rakuten Group, Inc.
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
チームにRedmineを適用せよ! #RxTstudy
チームにRedmineを適用せよ! #RxTstudy
Dai FUJIHARA
Ähnlich wie ウェブアプリケーションのパフォーマンスチューニング
(20)
Web frontend performance tuning
Web frontend performance tuning
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
第12回rest勉強会 これまでの補足・展望編
第12回rest勉強会 これまでの補足・展望編
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
Html5とアクセシビリティ
Html5とアクセシビリティ
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
20141003 webマーケティングエンジニアリング
20141003 webマーケティングエンジニアリング
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
見せたいデータに応じた取得方法を選ぼう!画面更新、ポーリング、WebSocketの比較
Effective web performance tuning for smartphone
Effective web performance tuning for smartphone
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
Building simple-app-using-.net 6 asp.net core web api-blazor web assembly-ela...
○○したら受託開発が180°変わった
○○したら受託開発が180°変わった
ブラウザのPerformance APIの話
ブラウザのPerformance APIの話
東海GTUG 20110910発表資料
東海GTUG 20110910発表資料
Zealup - React
Zealup - React
ネットワーク分散型フレームワークConView
ネットワーク分散型フレームワークConView
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
チームにRedmineを適用せよ! #RxTstudy
チームにRedmineを適用せよ! #RxTstudy
Mehr von Yasuhiro Onishi
開発合宿!!!!
開発合宿!!!!
Yasuhiro Onishi
Hatena blogdevelopmentflow
Hatena blogdevelopmentflow
Yasuhiro Onishi
wget.pl
wget.pl
Yasuhiro Onishi
Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理
Yasuhiro Onishi
The new Text::Hatena
The new Text::Hatena
Yasuhiro Onishi
oEmbed と Text::Hatena
oEmbed と Text::Hatena
Yasuhiro Onishi
新はてなダイアリーの裏側
新はてなダイアリーの裏側
Yasuhiro Onishi
Mehr von Yasuhiro Onishi
(7)
開発合宿!!!!
開発合宿!!!!
Hatena blogdevelopmentflow
Hatena blogdevelopmentflow
wget.pl
wget.pl
Redmine::ChanでIRCからプロジェクト管理
Redmine::ChanでIRCからプロジェクト管理
The new Text::Hatena
The new Text::Hatena
oEmbed と Text::Hatena
oEmbed と Text::Hatena
新はてなダイアリーの裏側
新はてなダイアリーの裏側
Kürzlich hochgeladen
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Kürzlich hochgeladen
(7)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
ウェブアプリケーションのパフォーマンスチューニング
1.
ウェブアプリケーションの パフォーマンスチューニング 2010/11/20 Kansai.pm#13 id:onishi /
Hatena
2.
自己紹介 大西康裕 id:onishi @yasuhiro_onishi 株式会社はてな チーフエンジニア 二児の父
3.
自己紹介 - 最近つくったもの はてなキーワード
リダイレクト機能 Devel::KYTProf https://github.com/onishi/perl5-devel-kytprof 仮面ライダーオーズのお面
4.
最近つくったもの
5.
最近つくったもの
6.
最近つくったもの
7.
Coming soon ...
8.
ウェブアプリケーションのパフォーマンス 劣化しますよね… PV増 機能追加 不具合 アプリケーション ネットワーク
9.
アジェンダ 今日する話 パフォーマンス計測 ボトルネック調査 実例など 今日しない話 SQL改善、キャッシュ、クライアント改善…
10.
パフォーマンスチューニングフロー 大きなところから粒度を細かくして掘り下げていく 1. 自分のサイトは遅いのか 2. どのページがどんな条件で遅いのか 3.
遅い原因はどこにあるのか アプリケーション? ネットワーク? 外部原因? (APIなど) 4. 原因を取り除く / キャッシュを行う ボトルネックをみつけるまでが大変><
11.
レスポンスタイム計測 Apacheの場合 LogFormat %D でアクセスログに
レスポンスタイム(マイクロ秒)を 表示できる LogFormat "%h %t "%r" %D" 123.123.123.123 [20/Nov/2010:01:02:03 +0900] "GET /path/to/hoge HTTP/1.1" 1021
12.
レスポンスタイム計測 - HTTPヘッダ ウェブアプリケーションから情報を出力する(はてなではWAFに実 装) アプリケーションの処理速度 ディスパッチ結果 $
curl -I 'http://mono.hatena.ne.jp/' | grep 'X-' X-Framework: Ridge/0.1 Plack/0.9937 X-Runtime: 423ms X-Ridge-Dispatch: Hatena::Monolith::Engine::Index#default
13.
レスポンスタイム計測 - HTTPヘッダ LogFormat
"%h %t "%r" "%{X-Ridge-Dispatch}o" %D" 123.123.123.123 [20/Nov/2010:01:02:03 +0900] "GET / HTTP/1.1" "Hatena::Monolith::Engine::Index#default" 1021 %{レスポンスヘッダ名}o で reverse proxy のログにディスパッチ 結果をレスポンスタイムと共に記録
14.
レスポンスタイム計測 - グラフ化#1 レスポンスタイム
分布
15.
レスポンスタイム計測 - グラフ化#2 レスポンスタイム
推移 (日)
16.
レスポンスタイム計測 - グラフ化#3 レスポンスタイム
推移 (時間)
17.
グラフから読み取ること サービスの応答速度 応答速度の変化 (劣化) 条件による応答速度の違い URL /
ディスパッチ先 リクエストメソッド 時間帯
18.
遅い原因を調査する - run.pl $
perl server.pl -p 3000 # Webサーバーとして動作する $ perl run.pl http://d.hatena.ne.jp/onishi/ # 1リクエストだけ処理する プロファイリングしやすい -d オプションを入れてプロファイラを実行 cron で定時実行して継続プロファイル
19.
Devel::NYTProf http://search.cpan.org/dist/Devel-NYTProf/ $ perl -d:NYTProf
run.pl http://d.hatena.ne.jp/onishi/ # nytprof.out というファイルができる $ nytprofhtml # nytprof というディレクトリができる DEMO
20.
Devel::NYTProf よくある重い原因 正規表現 動的に生成しない。コンパイルオプション $` $' を使わない オブジェクト生成コスト
(DateTime ...) 利用頻度の高いUtility関数 速い段階で抜けられないか
21.
Devel::NYTProf - 実例 sub
sanitize { my $str = shift; $str =~ s/&(?![#a-zA-Z0-9_]{2,6};)/&/g; $str =~ s/</</g; $str =~ s/>/>/g; $str =~ s/"/"/g; $str =~ s/'/'/g; $str =~ s//\/g; return $str; }
22.
Devel::NYTProf - 実例
23.
Devel::NYTProf - 実例 sub
sanitize { my $str = shift; $str =~ /[&<>"']/ or return $str; $str =~ s/&(?![#a-zA-Z0-9_]{2,6};)/&/g; $str =~ s/</</g; $str =~ s/>/>/g; $str =~ s/"/"/g; $str =~ s/'/'/g; $str =~ s//\/g; return $str; }
24.
Devel::NYTProf - 実例
25.
Devel::NYTProf - tips DB::disable_profile() #
モジュールのロード DB::enable_profile() # 計測したい処理 run.pl でのプロファイルは mod_perl などの永続環境でないため、 モジュールのロード(コンパイル, import) 処理が計測されてしまうの でそれを抑制する
26.
Devel::KYTProf https://github.com/onishi/perl5-devel-kytprof $ perl -d:KYTProf
run.pl http://d.hatena.ne.jp/onishi/ ボトルネックの大半はネットワークIO!! use するだけでネットワークIOの発生するメソッドの実行時間と呼 び出し元をwarnする DBI LWP Cache::Memcached::Fast … DEMO
27.
Devel::KYTProf - add_prof(s) use
Devel::KYTProf; Devel::KYTProf->add_prof( 'Foo::Bar', 'baz', sub { }, ); # Foo::Bar クラスの baz メソッドを計測対象に Devel::KYTProf->add_profs( 'Foo::Bar', [qw/baz piyo/] );
28.
Devel::KYTProf - options Devel::KYTProf->namespace_regex('Hatena::Diary'); #
caller を指定名前空間まで遡る Devel::KYTProf->threshold(100); # (ms) # n ms 以上かかった処理だけを出力する Devel::KYTProf->logger(Some::Logger->new); Devel::KYTProf->mute('DBI', 'connect'); Devel::KYTProf->unmute('DBI', 'connect');
29.
Devel::KYTProf でわかること ネットワークIOが何回発生しているか コードのどこで発生しているか どれだけ時間がかかっているか 処理の内容
30.
よくある改善ポイント 重複している処理 インデックスの効いていないSQL 同期的なAPIのレスポンスが悪い 不要なネットワークIO キャッシュにより逆に遅くなるケース get/setの数が多いけどヒット率が低くて意味が無い…
31.
継続プロファイリング 0 * *
* * perl -d:KYTProf run.pl http://d.hatena.ne. jp/onishi/ >> /var/log/profile.log 2>&1 毎時実行して記録を残す 日々のパフォーマンスの状況を残す 一時的な問題があった時に後から何があったか眺めたり パフォーマンス改善の効果を確かめたり
32.
まとめ ウェブアプリのパフォーマンスを計測しよう 継続プロファイリングして劣化を気にしよう 大きな粒度から眺めてボトルネックを特定していこう NYTProf超便利 ネットワークIOに特化したKYTProfも使ってね
33.
はてなダイアリー速度改善 今やってます>< ご期待ください!! ブックマークもやってます!!
34.
ご清聴ありがとうございました
Jetzt herunterladen