Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
めざせ1秒切り!ECサイトの表示高速化のワザ          ぷらっとホーム株式会社  松下 享平 (Kohei MATSUSHITA) / @ma2shita 2012.01.27 - エンジニアサポート新年会2012 CROSS / LT大会
時は金なり Time is MONEY.
+100 ms → -1% sales       @Amazon                                                                   Make Data Useful [p15]...
about me•   松下 享平 (Kohei MATSUSHITA)•   ぷらっとホーム株式会社 12年目突入    オンライン事業室•   Twitter: @ma2shita•   新幹線通勤してます、累積距離は40万km    月ま...
about “ぷらっとオンライン”     •   ぷらっとホーム株式会社 運営の         B2B ECサイト     •   http://online.plathome.co.jp     •   業務用IT機器を中心に22万商品 ...
2011年9月  3,000 ms
2012年1月   2,000 ms-1,000 ms !!
売上10%up?!
・・・なっていません   [m(__)m]    スミマセン     でも、VisitorsやPVは15%くらい上がりました。      あとはコンバージョンですよ… > @platonline  \笑うところ/
じゃあ、関係ない?
100人の見込み客      。oO (おせーよ(怒 静かに…Ctrl+W
関係あります
Architecture                                                              User                              Plat’Home     ...
Architecture (Subset)        User                                       商品詳細ページ等                           WordPress      ...
進     50%!!                      Done.•   静的コンテンツ(img,js,css)の配信にnginx•   CSS Sprite•   JavaScriptの遅延ロード,評価•   HTTP Header...
WP Super Cache
爆速!!
しかし!
即座に更新したい!
mfuncがあるじゃまいか!
memcached
DB参照                memcached参照30.0 s                                       シャッチョサン22.5 s                                 ...
問: memcached ... update ?        即時性 と 一元化
答: Trigger.即時性はOK。一元化も完璧じゃね?
UTL_TCPとか使っちゃう?                     JVM経由でやっちゃう?PL/SQLからmemcached更新するという        愚か 高い壁        http://commons.wikimedia.org...
得意なヤツに       やってもらおう!ついでに、 お願い はキュー経由にすれば、    ロードバランスもできるし!
Architecture                       User                                                              あと3枚             50 r...
あと2枚        Summary• WP Super Cache最強• mfunc + memcachedは、十分戦える。• レガシーシステムでも、あきらめない。
あと1枚 高速化を通じて感じたこと• 高速化に一発逆転、無し• 地道な調査とトライ&トライ• 新旧・別ジャンル、なんでもトライ      → だから今日のようなイベントは       レベルを上げる大チャンス?
間に合ってよかった…     おわり     @ma2shitaご静聴、ありがとうございました。                 Copyright(c) 2012 Kohei MATSUSHITA (@ma2shita). All right...
目指せ1秒切り!ECサイト表示高速化のワザ
Upcoming SlideShare
Loading in …5
×

目指せ1秒切り!ECサイト表示高速化のワザ

3,637 views

Published on

2012.01.27 - エンジニアサポート新年会2012 CROSS / LT大会で使用した発表資料。

Published in: Technology
  • Be the first to comment

目指せ1秒切り!ECサイト表示高速化のワザ

  1. 1. めざせ1秒切り!ECサイトの表示高速化のワザ ぷらっとホーム株式会社 松下 享平 (Kohei MATSUSHITA) / @ma2shita 2012.01.27 - エンジニアサポート新年会2012 CROSS / LT大会
  2. 2. 時は金なり Time is MONEY.
  3. 3. +100 ms → -1% sales @Amazon Make Data Useful [p15] by Greg Linden, Amazon.com http://www.scribd.com/doc/4970486/Make-Data-Useful-by-Greg-Linden-Amazoncom
  4. 4. about me• 松下 享平 (Kohei MATSUSHITA)• ぷらっとホーム株式会社 12年目突入 オンライン事業室• Twitter: @ma2shita• 新幹線通勤してます、累積距離は40万km 月まで行ってこられます、帰ってこられません。• 水曜日は39.6℃の熱にうなされてました。• 半纏は冬場のデフォルト装備です。
  5. 5. about “ぷらっとオンライン” • ぷらっとホーム株式会社 運営の B2B ECサイト • http://online.plathome.co.jp • 業務用IT機器を中心に22万商品 • 1999年開始(13年目)、11万件以上の取引実績 • 320K pv / Dec. 2011
  6. 6. 2011年9月 3,000 ms
  7. 7. 2012年1月 2,000 ms-1,000 ms !!
  8. 8. 売上10%up?!
  9. 9. ・・・なっていません [m(__)m] スミマセン でも、VisitorsやPVは15%くらい上がりました。 あとはコンバージョンですよ… > @platonline \笑うところ/
  10. 10. じゃあ、関係ない?
  11. 11. 100人の見込み客 。oO (おせーよ(怒 静かに…Ctrl+W
  12. 12. 関係あります
  13. 13. Architecture User Plat’Home OpenBlockS 600Plat’Home LoadBalancer LoadBalancerCloudStation A nginx nginx VM farm Xen Static Contents [css, js...] AP [publish] AP [user, transaction] nginx Apache + mod_php Apache + mod_fcgid (WordPress) (Ruby on Rails) Job queue Postfix Cache memcached Log miner MongoDB API DVCS Apache + mod_php git Search Engine Database Database Apache + mod_cgi MySQL PostgreSQL (Hyper Estraier) NAS Database FreeBSD + ZFS Oracle2011/12/1 ma2shita
  14. 14. Architecture (Subset) User 商品詳細ページ等 WordPress のコンテンツ Job queue Postfix memcached JSON変換 API Apache + mod_php ゲートウェイ 価格や在庫情報等 の基幹情報 Oracle2011/12/1 ma2shita
  15. 15. 進 50%!! Done.• 静的コンテンツ(img,js,css)の配信にnginx• CSS Sprite• JavaScriptの遅延ロード,評価• HTTP Header (304 etc...)• ストレージアクセス 一部です。 たぶん、20件くらいあります• Hyper Estraier / 分散処理• Hyper Estraier / 属性検索調整• WordPress / load_textdomain高速化• WP Super Cache + memcached → ECで使ったらどうなるの?
  16. 16. WP Super Cache
  17. 17. 爆速!!
  18. 18. しかし!
  19. 19. 即座に更新したい!
  20. 20. mfuncがあるじゃまいか!
  21. 21. memcached
  22. 22. DB参照 memcached参照30.0 s シャッチョサン22.5 s 50%モ ハヤイネ!15.0 s 7.5 s 0s 計測条件: Time taken for tests: 商品ページにおいて、DB参照(API(=JSONゲート ウェイ)経由)と、memcached参照に対しabのリクエ スト完了までの所要時間の5回中maxとminを除いた 3回の平均を比較。 $ ab -n 100 -c 10
  23. 23. 問: memcached ... update ? 即時性 と 一元化
  24. 24. 答: Trigger.即時性はOK。一元化も完璧じゃね?
  25. 25. UTL_TCPとか使っちゃう? JVM経由でやっちゃう?PL/SQLからmemcached更新するという 愚か 高い壁 http://commons.wikimedia.org/wiki/File:Nordwand.jpg?uselang=ja
  26. 26. 得意なヤツに やってもらおう!ついでに、 お願い はキュー経由にすれば、 ロードバランスもできるし!
  27. 27. Architecture User あと3枚 50 record/s WordPress Job queue’ Job queue’ Postfix Job queue’ memcached Postfix Postfix updater 3 memcached 3 3 queue postfix API Apache + mod_php enqueue 2 processor 2 1 Oracle 02011/12/1 ma2shita
  28. 28. あと2枚 Summary• WP Super Cache最強• mfunc + memcachedは、十分戦える。• レガシーシステムでも、あきらめない。
  29. 29. あと1枚 高速化を通じて感じたこと• 高速化に一発逆転、無し• 地道な調査とトライ&トライ• 新旧・別ジャンル、なんでもトライ → だから今日のようなイベントは レベルを上げる大チャンス?
  30. 30. 間に合ってよかった… おわり @ma2shitaご静聴、ありがとうございました。 Copyright(c) 2012 Kohei MATSUSHITA (@ma2shita). All rights reserved.

×