0
めざせ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サイト表示高速化のワザ

2,571

Published on

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

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,571
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "目指せ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.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×