Enviar pesquisa
Carregar
速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについて
•
3 gostaram
•
2,076 visualizações
Daisuke Tamada
Seguir
第2回【関西ITベンチャー】開発ツール チラ見せ♡ナイト@大阪 でプレゼンした資料になります。
Leia menos
Leia mais
Aperfeiçoamento pessoal
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 35
Baixar agora
Baixar para ler offline
Recomendados
大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術
Daisuke Tamada
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
Yahoo!デベロッパーネットワーク
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
div Inc
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
Shintaro Kurachi
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Yoshimura Soichiro
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Hisateru Tanaka
Codevs5.0勉強会
Codevs5.0勉強会
Kidai Hayashi
0からのプログラミング研修
0からのプログラミング研修
Jun Chiba
Recomendados
大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術
Daisuke Tamada
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
Yahoo!デベロッパーネットワーク
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
div Inc
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
Shintaro Kurachi
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」
Yoshimura Soichiro
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Yii Framework 2.0 いま求められるRAD標準とは #phpkansai
Hisateru Tanaka
Codevs5.0勉強会
Codevs5.0勉強会
Kidai Hayashi
0からのプログラミング研修
0からのプログラミング研修
Jun Chiba
PHPカンファレンス2015
PHPカンファレンス2015
Daisuke Kasuya
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
Masahiro Nishimi
PHPにないセキュリティ機能
PHPにないセキュリティ機能
Yasuo Ohgaki
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
アンラーニング
アンラーニング
Yoshiki Shibukawa
Hey It's Not My TDD!
Hey It's Not My TDD!
Yasui Tsutomu
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
Yuuki Fukuda
勉強会用資料:Javaアプリ作成
勉強会用資料:Javaアプリ作成
ssuser331f24
TDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
David Buck
某S社のddd(メイリオ)
某S社のddd(メイリオ)
kumake
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
増田 亨
RDRA DDD Agile
RDRA DDD Agile
増田 亨
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
Michihito Shigemura
プログラミング言語とシステムデザイン
プログラミング言語とシステムデザイン
Tsutomu Yano
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Atsuhiro Kubo
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
Takafumi ONAKA
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
Ventura County Real Estate Update - Summer 2013
Ventura County Real Estate Update - Summer 2013
John Wise
Howtousediscover
Howtousediscover
CollegeStartup
Mais conteúdo relacionado
Mais procurados
PHPカンファレンス2015
PHPカンファレンス2015
Daisuke Kasuya
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
Masahiro Nishimi
PHPにないセキュリティ機能
PHPにないセキュリティ機能
Yasuo Ohgaki
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
アンラーニング
アンラーニング
Yoshiki Shibukawa
Hey It's Not My TDD!
Hey It's Not My TDD!
Yasui Tsutomu
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
Yuuki Fukuda
勉強会用資料:Javaアプリ作成
勉強会用資料:Javaアプリ作成
ssuser331f24
TDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
David Buck
某S社のddd(メイリオ)
某S社のddd(メイリオ)
kumake
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
増田 亨
RDRA DDD Agile
RDRA DDD Agile
増田 亨
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
Michihito Shigemura
プログラミング言語とシステムデザイン
プログラミング言語とシステムデザイン
Tsutomu Yano
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Atsuhiro Kubo
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
Takafumi ONAKA
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
Masahiro Nishimi
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
慎一 古賀
Mais procurados
(20)
PHPカンファレンス2015
PHPカンファレンス2015
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
PHPにないセキュリティ機能
PHPにないセキュリティ機能
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
アンラーニング
アンラーニング
Hey It's Not My TDD!
Hey It's Not My TDD!
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
ほんとうに便利だった業務で使えるJava SE8新機能(JJUG CCC 2015 Spring)
勉強会用資料:Javaアプリ作成
勉強会用資料:Javaアプリ作成
TDDはじめる前に
TDDはじめる前に
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
Lambda: A Peek Under The Hood [Java Day Tokyo 2015 6-3]
某S社のddd(メイリオ)
某S社のddd(メイリオ)
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
「ドメイン駆動設計」の複雑さに立ち向かう
「ドメイン駆動設計」の複雑さに立ち向かう
RDRA DDD Agile
RDRA DDD Agile
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
軽量言語メインの 文系エンジニアだった自分が Scalaのシステム開発に携わることになった経緯 @shigemk2
プログラミング言語とシステムデザイン
プログラミング言語とシステムデザイン
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
ちゃんとした C# プログラムを書けるようになる実践的な方法~ Visual Studio を使った 高品質・低コスト・保守性の高い開発
Destaque
Ventura County Real Estate Update - Summer 2013
Ventura County Real Estate Update - Summer 2013
John Wise
Howtousediscover
Howtousediscover
CollegeStartup
Lampiran
Lampiran
Fariz Djaoewi
How to call Congress: A step-by-step guide
How to call Congress: A step-by-step guide
Friends of Sabeel – North America
3E-HEATING Wrocław Salon Firmowy Viessmann
3E-HEATING Wrocław Salon Firmowy Viessmann
salonyVi
Hombre
Hombre
khairol kholili
10 Roses
10 Roses
Sabaheta Becirovic-Katardzic
Dr. Boles MitoAction Presentation 9/13/13
Dr. Boles MitoAction Presentation 9/13/13
mitoaction
AEP-OU-social media-04-24-13
AEP-OU-social media-04-24-13
AEP Economic & Business Development
Leadership development to drive buisness success
Leadership development to drive buisness success
Institute of Leadership & Management
White paper - Performance Management diagnostics
White paper - Performance Management diagnostics
Hans Gillior
Songs of-kabir - tradus de tagore
Songs of-kabir - tradus de tagore
Valeriu Cismas
Sportal Content Provider
Sportal Content Provider
Marco Gabbi
NPTC Libraries : adventures in social media land
NPTC Libraries : adventures in social media land
NPTC Libraries
Om xpress print pack private limited profile
Om xpress print pack private limited profile
om xpress print pack private limited
Functions
Functions
nadir9999
INWESTPROJEKT Grudziądz
INWESTPROJEKT Grudziądz
salonyVi
SF SANIT Oława
SF SANIT Oława
salonyVi
Exchange Auditing in the Enterprise
Exchange Auditing in the Enterprise
Netwrix Corporation
Metodologia 1
Metodologia 1
Lledo Alegre Zurano
Destaque
(20)
Ventura County Real Estate Update - Summer 2013
Ventura County Real Estate Update - Summer 2013
Howtousediscover
Howtousediscover
Lampiran
Lampiran
How to call Congress: A step-by-step guide
How to call Congress: A step-by-step guide
3E-HEATING Wrocław Salon Firmowy Viessmann
3E-HEATING Wrocław Salon Firmowy Viessmann
Hombre
Hombre
10 Roses
10 Roses
Dr. Boles MitoAction Presentation 9/13/13
Dr. Boles MitoAction Presentation 9/13/13
AEP-OU-social media-04-24-13
AEP-OU-social media-04-24-13
Leadership development to drive buisness success
Leadership development to drive buisness success
White paper - Performance Management diagnostics
White paper - Performance Management diagnostics
Songs of-kabir - tradus de tagore
Songs of-kabir - tradus de tagore
Sportal Content Provider
Sportal Content Provider
NPTC Libraries : adventures in social media land
NPTC Libraries : adventures in social media land
Om xpress print pack private limited profile
Om xpress print pack private limited profile
Functions
Functions
INWESTPROJEKT Grudziądz
INWESTPROJEKT Grudziądz
SF SANIT Oława
SF SANIT Oława
Exchange Auditing in the Enterprise
Exchange Auditing in the Enterprise
Metodologia 1
Metodologia 1
Semelhante a 速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについて
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Yahoo!デベロッパーネットワーク
Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化
You&I
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
Ryo Mitoma
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
Amazon Web Services Japan
20170705 apiをつくろう
20170705 apiをつくろう
CData Software Japan
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
taiju higashi
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
Naoyuki Yamada
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
Koichiro Sumi
DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティス
DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティス
decode2016
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
Rakuten Group, Inc.
Spring I/O 2015 報告
Spring I/O 2015 報告
Takuya Iwatsuka
クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニング
Shin Matsumoto
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
Katsuhiro Miura
手間をかけずにサービス監視する方法
手間をかけずにサービス監視する方法
Harry Hiyoshi
Api as a product
Api as a product
CData Software Japan
Awsで作るビッグデータ解析今とこれから
Awsで作るビッグデータ解析今とこれから
Shohei Kobayashi
Robotium を使った UI テスト
Robotium を使った UI テスト
健一 辰濱
Growing up serverless
Growing up serverless
Amazon Web Services Japan
松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入
matsumoto_katsuhiko
Semelhante a 速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについて
(20)
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Ansibleは簡単なIT自動化
Ansibleは簡単なIT自動化
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20161027 hadoop summit Generating Recommendations at Amazon Scale with Apach...
20170705 apiをつくろう
20170705 apiをつくろう
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
俺のローカル開発環境 - MTDDC Meetup NAGOYA 2014
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
Code for Japan 勉強会 Vol.1 CKAN入門 プロジェクトのFork、デプロイ、CIまで
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティス
DOO-004_楽天での DevOps 実践事例と Azure ベスト プラクティス
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
Spring I/O 2015 報告
Spring I/O 2015 報告
クラウド運用のためのストリームマイニング
クラウド運用のためのストリームマイニング
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
手間をかけずにサービス監視する方法
手間をかけずにサービス監視する方法
Api as a product
Api as a product
Awsで作るビッグデータ解析今とこれから
Awsで作るビッグデータ解析今とこれから
Robotium を使った UI テスト
Robotium を使った UI テスト
Growing up serverless
Growing up serverless
松本克彦 ピグにおけるリアルタイムランキングの導入
松本克彦 ピグにおけるリアルタイムランキングの導入
速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについて
1.
速度度改善のために フロント/インフラ/アプリ エンジニア がそれぞれ使っているツールについて akippa 株式会社
⽟玉⽥田 ⼤大輔
2.
⾃自⼰己紹介 • ⽟玉⽥田⼤大輔(31) •
LAMP (Perl & PHP) エンジニア • 認定 Scrum Master • Scrum Masters Night 運営メンバ • エンジニア採⽤用担当 • DeNA @ Tokyo で6年年 • Social Game等 3年年 • エンジニア採⽤用 1.5年年 • テクニカルコンサルタント 1.5年年 • akippa @ Osaka で Manager • エンジニア 兼 ScrumMaster 兼 エンジニア採⽤用担当やってます
3.
今回テーマとするのは「速度度改善」
4.
速度度改善ってなぜ必要? • ユーザビリティを向上させるため •
昔GoogleがTrialで検索索結果表⽰示を10件→30件に • 0.5秒の遅延が起き、トラフィック20%低下 • Google での検索索結果を向上させるため(SEO対策) • Webページの表⽰示速度度が評価要因の1つとなっている • サーバリソースの無駄を削減させるため • 応答に時間かかる→その間サーバリソース⾷食う • 応答に時間かからない→サーバリソース⾷食わない
5.
akippa は「速度度改善」完璧なの?
6.
akippa は速度度改善バッチリできているの?? • すいませんすいませんすいません
• 改善しだしたところで道半ばでございます・・・ • TV にとりあげられることが多い akippa • リソースの無駄を省省きたい • ユーザに軽快な体験をしてもらいたい • 速度度改善と負荷対策は違うってわかってますが • 速度度改善の結果、サーバ処理理効率率率化できるかなと
7.
絶賛速度度改善中の akippa が使うツールチラ⾒見見せ
8.
その前に、どうやって速度度改善をすすめていくか
9.
速度度改善やることリスト • リソース(HTML, CSS,
JavaScript)の圧縮 • 画像の最適化 • CSS配信の最適化 • レンダリング妨げるJavaScriptを削除 • ⾮非同期スクリプトを使⽤用する • ブラウザキャッシュを活⽤用する • サーバの応答時間を改善する • サーバキャッシュを活⽤用する • Key Value Store を活⽤用する • Data Base のスキーマを⾒見見直す • アプリケーションロジックを⾒見見直す • 実⾏行行している SQL をチューニングする などなど(上記は⼀一例例)、やれることは他領領域、多岐にわたる・・・
10.
やれること多いから、職種ごとに役割分担しようぜ
11.
フロント / インフラ
/ アプリ と分けてみた
12.
まずは 「フロント」 で使っているツール
13.
フロントでのツール:Google Page Speed
Insights
14.
フロントでのツール:Google Page Speed
Insights • モバイル / パソコン での Google からの評価わかる • 100 点満点中の何点なのか教えてくれる • 100 点に近いほど評価が⾼高い • 具体的にどう改善したら良良いか丁寧に教えてくれる • ⾔言われた通りに直すだけで速度度改善できるから楽 • デザイナー、コーダーでも対応できるレベル • 「PageSpeed Insights のルール」を読もう! https://developers.google.com/speed/docs/insights/rules?hl=ja → 改善対応した際の before after を記録しておくのが⼤大変
15.
フロントでのツール:GTmetrix
16.
フロントでのツール:GTmetrix • Google と
Yahoo の サイト速度度計測サービス使える • Google Page Speed Insights と YSlow • 2つのサービスの測定結果をすぐ得られる • 計測結果を pdf でダウンロードできる !!!! • 速度度改善前と改善後の⽐比較をする際に超便便利利 !!!! • ちゃんと記録残しておいて、改善後にドヤっ !!!!
17.
フロントでのツール:Page Speed と
GTmetrix • 改善対応したい Page ごとに評価を記録しておく • pdf でスナップショットもとっておく • 機能的に重要 / 評価が低いから重要 など考える • 優先度度決めて少しずつ対応していく
18.
あとはフロントエンドメンバーで対応していくだけ!
19.
次に 「インフラ」 で使っているツール
20.
インフラでのツール:New Relic • サーバー/アプリケーションの監視ツール
• AWS 上の アプリケーションなら無料料で使える !!
21.
インフラでのツール:New Relic • 遅い
Transaction が何なのか概要を確認 • どの URI へのリクエストが遅いのかを把握 • 有料料で個別の詳細分析も出来るらしい・・・
22.
インフラでのツール:New Relic • 遅い
DataBase アクセスが何なのか概要を確認 • どの Table への どんな Query が遅いのかを把握
23.
インフラでのツール:httpd の access_̲log •
httpd.conf にて %D オプションを追加 • リクエストの処理理時間をマイクロ秒で出⼒力力 • ベンチマークとる • レスポンス時間が⻑⾧長く、 頻繁に来るリクエストに注⽬目
24.
インフラでのツール:MySQL の SlowQueryLog •
MySQL のコンソールに root で⼊入る • ベンチマークとる • 閾値以上の時間がかかったクエリをチェック • 頻度度の⾼高いクエリに注⽬目
25.
インフラでの速度度改善 • New Relic
を使って速度度改善すべき箇所の概要を把握 • 遅い Transaction をリストアップ • 遅い DB への Query をリストアップ • access_̲log, SlowQueryLog を使って詳細を分析 • 具体的にどんなリクエストで何秒かかっているか • 具体的にどんなQueryで何秒かかっているか • アプリの問題箇所/問題Query に対して改善⽅方法を指摘 • あとはアプリケーションエンジニアにバトンタッチ
26.
あとはアプリエンジニアが改修していくだけ!
27.
最後に 「アプリ」 で使っているツール
28.
アプリでのツール:Xhprof • PHP のプロファイラとして
Xhprof を利利⽤用 • facebook のエンジニアが開発したツール • リクエスト毎にプロファイルが作成される • method 毎にcallされた数、処理理時間などがわかる
29.
アプリでのツール:Xhprof • CallGraph というプログラム実⾏行行遷移図
• 重い処理理を⾚赤、⻩黄⾊色で可視化してくれる
30.
アプリでのツール:Xhprof →method レベルよりも細かい分析はできない
31.
アプリでのツール:miscrotime と error_̲log •
任意の処理理の実⾏行行時間をマイクロ秒で計測 • 古典的だが解りやすく、対応もしやすい • 可読性あげるため、千倍のミリ秒で出⼒力力してる
32.
アプリでの速度度改善 • インフラから遅いTransactionを教えてもらう •
教えてもらった Transaction を Xhprof で解析 • Transaction 内での遅い method を把握 • call 数と処理理にかかった時間を参考にあたりをつける • 遅い method 内の処理理を microtime で解析 • 具体的にどんな処理理で何ミリ秒かかっているか解析 • わかった処理理に対して具体的にアプリ改善実施
33.
実際にアプリで速度度改善した例例 • Index が効いていない
SQL の実⾏行行に時間がかかった • Query と Table Scheme みて Index を追加した • SQL で膨⼤大な結果を * 指定で取得して時間かかってた • 必要なカラムだけに絞り通信量量減らした • よく検索索される場所なのに毎回距離離計算時間かかってた • memcached に cache して計算 Skip させた
34.
あとは遅い処理理に対応していくだけ!
35.
まとめ • フロント /
インフラ / アプリ と役割分担で対応決めれる • フロントは Google Speed Insights & GTmetrix で 速度度改善 Project をガンガン進めていける • インフラは New Relic と access_̲log, SlowQueryLog で 問題となる Transaction と DB への Query ⾒見見つける • アプリは Xhprof と microtime で遅い処理理具体化し、 そこからは個別対応で改善施策を考えていける
Baixar agora