SlideShare a Scribd company logo
1 of 21
More Speed!
Rails service!
twitter:@g08m11
13年6月1日土曜日
目次
1・お前誰やねん
2・事の発端
3・やったこと
4・結果
5・まとめ
13年6月1日土曜日
1・お前誰やねん
職業:Railsエンジニア 将来の夢:Growth Hacker
年齢:秘密 出身:沖縄県
好きなこと:写真撮る、ハッカソン
好きなgem:activesupport
好きなメソッド:group_by()
13年6月1日土曜日
1・お前誰やねん
こんな写真を撮ってNAVERに纏めてます
「NAVER 写真 蜷川実花監修カメラ 」で検索
13年6月1日土曜日
1・お前誰やねん
ハッカソンでこんなwebアプリを作った
「iphone 可愛く楽しく」で検索
13年6月1日土曜日
2・事の発端
ある人からの一言
「サイトをPCで見たら遅過ぎる。」
ユーザーからの一言
「遅すぎて不便。」
とにかく遅い!!
いや、遅過ぎる!
13年6月1日土曜日
2・事の発端
早速、サイトを調査。。。
「10秒以上掛かってる感じしない?」
「これはヤバい!」
「ほぼ事故レベルw」
「一旦、作業全部STOP!」
速度改善を最優先に変更
13年6月1日土曜日
2・事の発端
開発環境
①言語:Ruby1.9.2
②フレームワーク:Rails3.1.2
③DB:MySQL
④サーバー:APP4台/バッチ1台/キャッシュ1台/
      DB2台
13年6月1日土曜日
2・事の発端
開発環境
⑤バージョン管理ツール:git
⑥デプロイ手段:capstrano
⑦Apacheモジュール:passenger
13年6月1日土曜日
3・やったこと(基本)
①速度計測(体感、計測ともに)
②質問サイトに投稿(QA@IT)
③分析ツールの導入(New Relic)
④スロークエリの設定(my.cnf)
⑤ログ調査(development.log)
13年6月1日土曜日
3・やったこと(基本)
⑥タスクをチケット化(Redmine)
⑦計測結果を記録(googleスプレッドシート)
13年6月1日土曜日
3・やったこと(基本)
Pick UP!
③分析ツールの導入(New Relic)
公式では「yml」ファイルを使用とだけ
記述されている。
デフォルトでは設定が「false」になって
いるため「知らない」とハマる!
13年6月1日土曜日
3・やったこと(独自)
①renderの一元化(最大5本→1本)
②scopeをrowで書き直し(「.」つなぎ減少)
③Rubyのバージョンアップ(1.9.2→1.9.3)
④scopeの不要なJOIN削除(②実施時)
⑤不要なjQuery削除(ローディング系)
13年6月1日土曜日
3・やったこと(独自)
⑥画像圧縮、軽量化(PNGGauntlet)
⑦view内javaScriptをbody以下に
13年6月1日土曜日
3・やったこと(独自)
Pick UP!
②scopeをrowで書き直し(「.」つなぎ減少)
SQL経験が必要だけどレスポンスが全く
違う。
2倍ほどレスポンスが良くなった。
Arelでも良いけど未経験ならrowが
オススメです。
13年6月1日土曜日
3・やったこと(独自)
Pick UP!
③Rubyのバージョンアップ(1.9.2→1.9.3)
Ruby2.0にしたところpassengerが
原因でこける。
passenger,varnishの構成のRailsサービス
では注意が必要
13年6月1日土曜日
3・やったこと(その他)
①早朝デプロイ(午前6時出勤)
②チーム内ディスカッション(朝礼、終礼)
③チーム内情報共有(朝礼、終礼)
④勉強会参加(RubyやRails関連)
⑤④にて質問しまくる(アドバイス収集)
13年6月1日土曜日
3・やったこと(その他)
Pick UP!
①早朝デプロイ(午前6時出勤)
会社の人と被る時間帯もあり、
早めに上がることが出来るため
平日の勉強会の参加することが出来ます。
朝型生活になりエンジニアらしからぬ
健康体になります。
13年6月1日土曜日
4・結果
①体感10.0秒→体感3.0秒
②計測ツール10.0秒→3.0∼4.0秒
③RubyとRailsの知見やノウハウ習得
④チーム内のコミュニケーション増加
⑤早朝デプロイの組織化
13年6月1日土曜日
5・まとめ
①深夜対応だけでなく早朝のデプロイも選択肢に
②チーム内のコミュニケーション不可欠
③QA@ITへ質問してみるのも良い
④まずはlogの確認から
⑤ひたすらTry & error
13年6月1日土曜日
5・まとめ
使用したツールまとめ
速度計測:webwait(http://webwait.com/)
画像圧縮ツール:pnggauntle(http://pnggauntlet.com/)
チケット管理ツール:Redmine(http://redmine.jp/)
計測記録ツール:googleスプレッドシート(https://www.google.com/intl/ja_JP/drive/start/apps.html)
監視ツール:New Relic(http://newrelic.com/)
本番環境SQL確認ツール:phpMyAdmin(http://www.phpmyadmin.net/home_page/index.php)
13年6月1日土曜日

More Related Content

What's hot

Groongaの紹介と事例紹介
Groongaの紹介と事例紹介Groongaの紹介と事例紹介
Groongaの紹介と事例紹介Naoya Murakami
 
自己紹介 (kosen10sLT #03)
自己紹介 (kosen10sLT #03)自己紹介 (kosen10sLT #03)
自己紹介 (kosen10sLT #03)ShotaSatuma
 
スーパーコンシューマー忘年会2016スライド
スーパーコンシューマー忘年会2016スライドスーパーコンシューマー忘年会2016スライド
スーパーコンシューマー忘年会2016スライドmasaki ishitani
 
検索数1万回以上でスマホ検索率80%以上のキーワード特長
検索数1万回以上でスマホ検索率80%以上のキーワード特長検索数1万回以上でスマホ検索率80%以上のキーワード特長
検索数1万回以上でスマホ検索率80%以上のキーワード特長新潟コンサルタント横田秀珠
 
Google trends to_irc
Google trends to_ircGoogle trends to_irc
Google trends to_ircrarere
 

What's hot (7)

Groongaの紹介と事例紹介
Groongaの紹介と事例紹介Groongaの紹介と事例紹介
Groongaの紹介と事例紹介
 
自己紹介 (kosen10sLT #03)
自己紹介 (kosen10sLT #03)自己紹介 (kosen10sLT #03)
自己紹介 (kosen10sLT #03)
 
スーパーコンシューマー忘年会2016スライド
スーパーコンシューマー忘年会2016スライドスーパーコンシューマー忘年会2016スライド
スーパーコンシューマー忘年会2016スライド
 
検索数1万回以上でスマホ検索率80%以上のキーワード特長
検索数1万回以上でスマホ検索率80%以上のキーワード特長検索数1万回以上でスマホ検索率80%以上のキーワード特長
検索数1万回以上でスマホ検索率80%以上のキーワード特長
 
ペコメイト
ペコメイトペコメイト
ペコメイト
 
Google trends to_irc
Google trends to_ircGoogle trends to_irc
Google trends to_irc
 
Front night vol1
Front night vol1Front night vol1
Front night vol1
 

More from Masaru Gushiken

さくっとpush通知を導入するならGrowth Push一択
さくっとpush通知を導入するならGrowth Push一択さくっとpush通知を導入するならGrowth Push一択
さくっとpush通知を導入するならGrowth Push一択Masaru Gushiken
 
Firebase初心者からみたFirebase
Firebase初心者からみたFirebaseFirebase初心者からみたFirebase
Firebase初心者からみたFirebaseMasaru Gushiken
 
リジェクト内容とその対応とその他
リジェクト内容とその対応とその他リジェクト内容とその対応とその他
リジェクト内容とその対応とその他Masaru Gushiken
 
ブランディングエンジニア資料
ブランディングエンジニア資料ブランディングエンジニア資料
ブランディングエンジニア資料Masaru Gushiken
 
Swiftビギナーズ
SwiftビギナーズSwiftビギナーズ
SwiftビギナーズMasaru Gushiken
 
「SIer→Web」〜本音で語るキャリアチェンジ〜
「SIer→Web」〜本音で語るキャリアチェンジ〜「SIer→Web」〜本音で語るキャリアチェンジ〜
「SIer→Web」〜本音で語るキャリアチェンジ〜Masaru Gushiken
 
ALOOKs〜ダイエットプラットフォーム〜
ALOOKs〜ダイエットプラットフォーム〜ALOOKs〜ダイエットプラットフォーム〜
ALOOKs〜ダイエットプラットフォーム〜Masaru Gushiken
 
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座Masaru Gushiken
 
あなたも出来る!webエンジニアがSwiftでリリースするためにやったこと
あなたも出来る!webエンジニアがSwiftでリリースするためにやったことあなたも出来る!webエンジニアがSwiftでリリースするためにやったこと
あなたも出来る!webエンジニアがSwiftでリリースするためにやったことMasaru Gushiken
 
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべてApple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべてMasaru Gushiken
 
現場から始める Developer Productivity
現場から始める Developer Productivity現場から始める Developer Productivity
現場から始める Developer ProductivityMasaru Gushiken
 
喋って、DEMOで 伝える 僕がHerokuを使う理由
喋って、DEMOで 伝える 僕がHerokuを使う理由喋って、DEMOで 伝える 僕がHerokuを使う理由
喋って、DEMOで 伝える 僕がHerokuを使う理由Masaru Gushiken
 
Rehack プレゼン資料
Rehack プレゼン資料Rehack プレゼン資料
Rehack プレゼン資料Masaru Gushiken
 
MashupAward9_東京プレゼン2
MashupAward9_東京プレゼン2MashupAward9_東京プレゼン2
MashupAward9_東京プレゼン2Masaru Gushiken
 

More from Masaru Gushiken (17)

さくっとpush通知を導入するならGrowth Push一択
さくっとpush通知を導入するならGrowth Push一択さくっとpush通知を導入するならGrowth Push一択
さくっとpush通知を導入するならGrowth Push一択
 
Firebase初心者からみたFirebase
Firebase初心者からみたFirebaseFirebase初心者からみたFirebase
Firebase初心者からみたFirebase
 
リジェクト内容とその対応とその他
リジェクト内容とその対応とその他リジェクト内容とその対応とその他
リジェクト内容とその対応とその他
 
ブランディングエンジニア資料
ブランディングエンジニア資料ブランディングエンジニア資料
ブランディングエンジニア資料
 
Swiftビギナーズ
SwiftビギナーズSwiftビギナーズ
Swiftビギナーズ
 
「SIer→Web」〜本音で語るキャリアチェンジ〜
「SIer→Web」〜本音で語るキャリアチェンジ〜「SIer→Web」〜本音で語るキャリアチェンジ〜
「SIer→Web」〜本音で語るキャリアチェンジ〜
 
ALOOKs〜ダイエットプラットフォーム〜
ALOOKs〜ダイエットプラットフォーム〜ALOOKs〜ダイエットプラットフォーム〜
ALOOKs〜ダイエットプラットフォーム〜
 
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
Yahoo!アフィリエイトソン最優秀賞者に学ぶ Swift講座
 
あなたも出来る!webエンジニアがSwiftでリリースするためにやったこと
あなたも出来る!webエンジニアがSwiftでリリースするためにやったことあなたも出来る!webエンジニアがSwiftでリリースするためにやったこと
あなたも出来る!webエンジニアがSwiftでリリースするためにやったこと
 
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
Apple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべてApple審査を一発通過!iOS開発経験0でも出来るじげん流Swift開発のすべて
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
 
現場から始める Developer Productivity
現場から始める Developer Productivity現場から始める Developer Productivity
現場から始める Developer Productivity
 
喋って、DEMOで 伝える 僕がHerokuを使う理由
喋って、DEMOで 伝える 僕がHerokuを使う理由喋って、DEMOで 伝える 僕がHerokuを使う理由
喋って、DEMOで 伝える 僕がHerokuを使う理由
 
Rehack プレゼン資料
Rehack プレゼン資料Rehack プレゼン資料
Rehack プレゼン資料
 
MashupAward9_東京プレゼン2
MashupAward9_東京プレゼン2MashupAward9_東京プレゼン2
MashupAward9_東京プレゼン2
 
Webaudio資料
Webaudio資料Webaudio資料
Webaudio資料
 
ネット生保資料
ネット生保資料ネット生保資料
ネット生保資料
 
RakutenQute!
RakutenQute!RakutenQute!
RakutenQute!
 

Rails 速度改善結果レポート