Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SaaS型ECプラットフォームにおける高負荷対策

 SaaS型ECプラットフォームにおける高負荷対策

More Decks by 株式会社インターファクトリー

Other Decks in Technology

Transcript

  1. 自己紹介  略歴  2006年 日本IBM 東京基礎研究所 入社  マルチコア環境におけるJavaの高速化

     設計書(Word, Excel)の品質検証ツールの作成、適用  2013年 インターファクトリー 入社  2016年 CTO就任  興味  パフォーマンスチューニング
  2. ここまでの対策で十分? 以下のようなサービスならたぶん十分 ⚫ SNS ⚫ Web検索 以下のようなサービスでは不十分 ⚫ EC ⚫

    東京オリンピックの ボランティア申し込み リクエスト単位で ほぼ目的達成 複数のリクエスト を経て目的達成
  3. ユーザー体験として「マシな」 アクセス制御  新規ユーザーは混雑時に一定の確率でエラー  回遊中ユーザーはエラーにはなりにくい  「回遊中ユーザー」の定義は?  一回でもアクセスしたら

     カートに商品を投入したら  注文情報入力画面を表示したら  離脱の判定方法は?  一定期間アクセスがなかったら  ブラウザのタブを閉じたら
  4. ユーザー体験として「マシな」 アクセス制御  新規ユーザーは混雑時に一定の確率でエラー  回遊中ユーザーはエラーにはなりにくい  「回遊中ユーザー」の定義は?  一回でもアクセスしたら

     カートに商品を投入したら  注文情報入力画面を表示したら  離脱の判定方法は?  一定期間アクセスがなかったら  ブラウザのタブを閉じたら
  5. 具体的な制御の方法  新規ユーザーだった場合  回遊中ユーザー数が閾値以上ならエラー  そうでなければ、回遊中ユーザー一覧として登録  回遊中ユーザーだった場合 

    最終アクセス日時から一定時間以上たっていたら新規ユーザーとして処理  そうでなければ、最終アクセス日時を更新 制限発動時のユーザー体験が 比較的良い PVやサーバー負荷が低くても 制限が発動する場合がある 適切な閾値の設定が難しい
  6. 結論  各サーバーの、各リソースについて、 店舗ごとの閾値を設ける  アプリケーションサーバー、 DBサーバー  PV数、スレッド数、ユーザー数、etc. 

    閾値を超えたときに、より「マシな」 エラーの出し方をする  回遊中ユーザーは優先  エラーはなるべく処理の最初に