Movatterモバイル変換


[0]ホーム

URL:


yohei sugigami, profile picture
Uploaded byyohei sugigami
PDF, PPTX44,015 views

iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料

iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料

Embed presentation

Download as PDF, PPTX
通信のパフォーマンス改善杉上洋平エンジニア / ウォンテッドリー株式会社iOSオールスターズ勉強会
月間40万人利用企業7000社メンバー40人ぐらい
iPhone, iPad, Andorid3冠達成!
WHY?通信のパフォーマンス改善
9Wantedlyは今年海外進出します!拠点の人
10拠点はアジア!
11海外は通信回線が 遅い
12STARTUP ASIA 2014 @ JAKARTA海外でも素敵なWantedly   体験をWoWoW
Period is two weeks
Dec 2014
Team森田先生MEFull TimeiOS EngineeriOS Engineer銭湯旅人Half Timeソファーでペアプロスタイルな開発 :)
Analyze
New Relic Mobileで分析ざっくりなボトルネック調査
Pony Debuggerで細かく分析リクエスト単位で細かく調査
Pony Debuggerの仕組みiPhoneServerClientPythonCocoaPodsChrome Developer Tool
わかったこと・JSONのリクエストによりも画像の容量が多い・無駄な画像のリクエストがある
・見せたい画像の順番になっていない
PLAN通信量の大半を占める
画像の通信を改善する
画像通信と言えば SDWebImage
SDWebImageのコードを読むURL URL URL URLURLURLURLURLURLURLSDWebImageDownloaderRequest QueueSDWebImageDownloaderOperationUIImageView#sd_setImageWithURL
SDWebImageのコードを読むURLSDWebImageDownloaderOperationMemory / Disk CacheSDWebImageManager
SDWebImageのバグを発見!マージされたよ!
Let’sKaizen
募集一覧画像の先読みまだ画面上に表示されていない画像を事前に取得
SDWebImagePrefetcher@interface SDWebImagePrefetcher : NSObject
@property (strong, readonly) SDWebImageManager *manager;@property (assign) NSUInteger maxConcurrentDownloads;- (void)prefetchURLs:(NSArray *)urls;URLURLURL
画像を取得する優先度付け高低高低低Priority
SDWebImageOptions@interface UIImageView (WebCache)- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options;typedef NS_OPTIONS(NSUInteger, SDWebImageOptions) {SDWebImageLowPriority = 1 << 1,SDWebImageHighPriority = 1 << 8,Change Priority
遷移元の画像取得をキャンセル遷移元 遷移先通信キャンセル遷移先の画像を優先して表示
SDWebImageManager#cancelAll@interface UIImageView (WebCache)- (void)sd_cancelCurrentImageLoad;@interface SDWebImageManager : NSObject- (void)cancelAll;URL URL URL URLSDWebImageDownloaderRequest Queue
Facebook が語るモバイル・チューニングの極意:これで途上国のインターネットも OK!弊社CTOからの思し召しFacebookは90% のイメージでWebP フォーマットが用いられている“Facebook経由で知るなど“接続スピード品質に応じて機能の振る舞いを適正化していく
画像フォーマットをWebPに90KB30KBSDWebImageはWebPに対応している
SDWebImage/WebPPodfile
pod ‘SDWebImage/WebP'$ pod install@interface UIImage (WebP)Only Install !
Webpに変換する画像サーバの構成CloudFrontS3EC2DockernginxAWSiPhone任意にリサイズ&WebPに変換オリジナル画像キャッシュ画像(CDN)
wantedly/nginx-image-serverOpen Source !!
通信帯域により取得する画像サイズを変更良い悪いすごく悪い100KB25KB6KB16分の1
通信帯域の推測URL通信開始・終了の経過時間と受領画像サイズから推測30KB
通信帯域の推測MONITORING:  kbps  108.73 [Excellent] average rtt  0.971914MONITORING:  kbps  108.73 [Excellent] average rtt  0.971914MONITORING:  kbps  108.73 [Excellent] average rtt  0.971914MONITORING:  rtt  0.17s,  0KB,  Cached: YES,  https://e4fb0db8addb.pngMONITORING:  rtt  0.32s,  0KB,  Cached: NO, https://5af9694863de.pngMONITORING:  rtt  0.35s,  1KB,  Cached: NO, https://9b-80a9-37eb4c7182ea.jpegMONITORING:  rtt  0.41s,  9KB,  Cached: NO, https://510-a619-10701876ad0c.pngMONITORING:  rtt  0.01s,  8KB,  Cached: YES,  https://2aa3646d.jpegMONITORING:  kbps  189.65 [Excellent] average rtt  0.461638MONITORING:  rtt  0.52s,  27KB,  Cached: NO, https://b5-bceda20f3034.pngMONITORING:  rtt  0.40s,  21KB,  Cached: NO, https://54a-52cbe1efb0bc.jpegMONITORING:  rtt  0.82s,  33KB,  Cached: NO, https://5b-1d537f677f61.pngMONITORING:  rtt  0.46s,  19KB,  Cached: NO, https://-0461512b3080.jpegMONITORING:  rtt  0.26s,  36KB,  Cached: NO, https://c2b-e88d33bb56dc.jpegMONITORING:  kbps  159.05 [Excellent] average rtt  0.515586MONITORING:  rtt  0.98s,  45KB,  Cached: NO, https://83f6512cef.jpegMONITORING:  kbps  160.66 [Excellent] average rtt  0.569087MONITORING:  rtt  2.56s,  30KB,  Cached: NO, https://65e-55cee3d4f2eb.jpegMONITORING:  kbps  130.23 [Excellent] average rtt  1.270392MONITORING:  rtt  2.53s,  11KB,  Cached: NO, https://65e-55cee3d4f2eb.jpeg
最大サイズからキャシュ画像をチェックURL大 中 小① ② ③④
HOW?どうやって改善を確認するの?
改善の確認方法通信の帯域を制限して体験がよくなっているか
One More Thing
さらなる改善方法案・MessagePackでJSONを圧縮する・SPYDで通信コネクションをまとめる・通信帯域による同時接続数の調整
エンジニア募集してますhttps://www.wantedly.com

Recommended

PDF
エンジニア戦記 〜小さなチーム、大きな未来〜
PDF
効率的なアプリ開発のベストプラクティス
 
PDF
WatchKitを実際にさわってみてわかったこと
PDF
WKWebViewとUIWebView
PDF
Procon 2010/10/16
 
PDF
卒研発表
 
PDF
ネッカーの立方体の3つ目の見方を発見
PDF
スマホスキャン 報道用 別紙資料
PPTX
iOS bust #1
PDF
未踏成果発表
 
PDF
freee社でのReactiveCocoa活用例
PDF
Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016
PDF
OHHTTPStubsを使ったiOSアプリ開発
PDF
Try EarlGrey | 20161118 iOS Test Night
PPTX
CarPlayの対応方法と日本での現状
PDF
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
PDF
JavascriptでもTestがしたい!
PDF
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
PDF
iOSアプリケーションの継続的デリバリー
PDF
アップルのテンプレートは有害と考えられる
PPTX
iOSアプリの自動テストをはじめよう
PDF
サーバPUSHざっくりまとめ
PDF
インフラで実践したチームビルディングそれはサバ天
 
PDF
Yahoo!ブラウザーにおける市場環境の分析と戦略化
PDF
(旧版) オープンソースライセンスの基礎と実務
PDF
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
PDF
あのアニメのOp,edっぽいアニメーションを実装する話
PDF
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3
PDF
スタートアップ向け!1人日でできるサービスの高速化方法と成果
PDF
IIJmio meeting 16 「通信速度」に影響を与える要素とは

More Related Content

PDF
エンジニア戦記 〜小さなチーム、大きな未来〜
PDF
効率的なアプリ開発のベストプラクティス
 
PDF
WatchKitを実際にさわってみてわかったこと
PDF
WKWebViewとUIWebView
PDF
Procon 2010/10/16
 
PDF
卒研発表
 
PDF
ネッカーの立方体の3つ目の見方を発見
PDF
スマホスキャン 報道用 別紙資料
エンジニア戦記 〜小さなチーム、大きな未来〜
効率的なアプリ開発のベストプラクティス
 
WatchKitを実際にさわってみてわかったこと
WKWebViewとUIWebView
Procon 2010/10/16
 
卒研発表
 
ネッカーの立方体の3つ目の見方を発見
スマホスキャン 報道用 別紙資料

Viewers also liked

PPTX
iOS bust #1
PDF
未踏成果発表
 
PDF
freee社でのReactiveCocoa活用例
PDF
Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016
PDF
OHHTTPStubsを使ったiOSアプリ開発
PDF
Try EarlGrey | 20161118 iOS Test Night
PPTX
CarPlayの対応方法と日本での現状
PDF
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
PDF
JavascriptでもTestがしたい!
PDF
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
PDF
iOSアプリケーションの継続的デリバリー
PDF
アップルのテンプレートは有害と考えられる
PPTX
iOSアプリの自動テストをはじめよう
PDF
サーバPUSHざっくりまとめ
PDF
インフラで実践したチームビルディングそれはサバ天
 
PDF
Yahoo!ブラウザーにおける市場環境の分析と戦略化
PDF
(旧版) オープンソースライセンスの基礎と実務
PDF
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
PDF
あのアニメのOp,edっぽいアニメーションを実装する話
PDF
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3
iOS bust #1
未踏成果発表
 
freee社でのReactiveCocoa活用例
Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待 - iOSDC 2016
OHHTTPStubsを使ったiOSアプリ開発
Try EarlGrey | 20161118 iOS Test Night
CarPlayの対応方法と日本での現状
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
JavascriptでもTestがしたい!
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
iOSアプリケーションの継続的デリバリー
アップルのテンプレートは有害と考えられる
iOSアプリの自動テストをはじめよう
サーバPUSHざっくりまとめ
インフラで実践したチームビルディングそれはサバ天
 
Yahoo!ブラウザーにおける市場環境の分析と戦略化
(旧版) オープンソースライセンスの基礎と実務
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
あのアニメのOp,edっぽいアニメーションを実装する話
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3

Similar to iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料

PDF
スタートアップ向け!1人日でできるサービスの高速化方法と成果
PDF
IIJmio meeting 16 「通信速度」に影響を与える要素とは
PDF
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
PDF
Voicepic@FukuiMASeminar
PDF
【Session3】20110727 nextwebセミナー資料(日立情報)
KEY
Tuiningathonにいってみた
PDF
続々・ららら、(無線的に)素敵なComiket Space C86
PDF
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
PPTX
インドの低速なネットワーク環境の攻略法
PDF
gumiStudy#1 ソーシャルアプリにおけるKVSの利用事例
KEY
121002seminar j action
スタートアップ向け!1人日でできるサービスの高速化方法と成果
IIJmio meeting 16 「通信速度」に影響を与える要素とは
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
Voicepic@FukuiMASeminar
【Session3】20110727 nextwebセミナー資料(日立情報)
Tuiningathonにいってみた
続々・ららら、(無線的に)素敵なComiket Space C86
「Tiのソケットで待ってる」Titanium Nagoya Chatroom Vol.2
インドの低速なネットワーク環境の攻略法
gumiStudy#1 ソーシャルアプリにおけるKVSの利用事例
121002seminar j action

iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料


[8]ページ先頭

©2009-2025 Movatter.jp