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

人気商品が「ちゃんと買える」をつくる ー ECの負荷改善

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for ykagano ykagano
August 27, 2026

人気商品が「ちゃんと買える」をつくる ー ECの負荷改善

2026/8/27 PHP Tech Talk Night ~ after phpcon 2026 ~ 発表資料

Avatar for ykagano

ykagano

August 27, 2026

More Decks by ykagano

Other Decks in Technology

Transcript

  1. 自己紹介 氏名:加賀野 祐( ykagano) 所属:BASE株式会社 BASE Department Product Division 役割:シニアエンジニア(バックエンド)

    趣味:お酒、旅行、キャンプ ykagano 2024年8月にBASE株式会社に入社 その前は以下の開発を経験してきました - 2009年〜:NET CASH - 2012年〜:WebMoney - 2017年〜:Yahoo!ウォレット、 PayPay © 2012-2026 BASE, Inc. 22
  2. 負荷テスト環境の構築で工夫した点 Claude CodeでTerraformを使って構築したため、 以前の手動構築に比べると構築スピードは何倍にもなっていると思います しかし、それはあくまで構築の話で、構築の前提となる部分は人間のチェックが必要でした • システム設計と技術選定 • SREチームとの連携と責任範囲の確認(構築・運用は自チーム) •

    構築することで運用コストがどれくらい増えるかのコスト試算 • 0→1でのAI Agentを使ったチーム開発( Terraform, Docker構成, Locustのシナリオ等々) 負荷改善を重ねた現在も課題を解決しつつ運用できているため、方向性は合っていたものと感じています © 2012-2026 BASE, Inc. 13 13
  3. 2.Snowflakeにログを連携して分析 Claude CodeのSkillを使って、 NewRelic MCPに接続し、該当時間のログを解析し、 複数観点から調査したレポートを分析しています skillの大枠は以下となっています • Step 0:

    期間・ショップの特定 • Step 1: 全体概況の把握 • Step 2: 購入ファネル • Step 3: 決済チャネル分析 • Step 4: ピーク RPS 推移 • Step 5: エラー分析 • Step 6: 外部APIフロー分析 © 2012-2026 BASE, Inc. 20 20
  4. 1ショップへの集中にキャップをかける アクセス集中の影響を、全体でどう受け止めるか アクセス集中ショップ用の上限 ① アクセス集中ショップがいない その他のショップが余さず使える ② アクセス集中ショップは上限未満 その他のショップの流量が多くても両者とも通 る

    ③ アクセス集中ショップが上限到達 その他のショップの取り分として残る その他のショップ アクセス集中ショップ その他のショップ × ここで頭打ち アクセス集中ショップ 引き算で残るその他のショップの取り分 ↑ アクセス集中ショップの消費 その他のショップの消費 空き アクセス集中ショップ用の上限 33 © 2012-2026 BASE, Inc. 33
  5. バケット消費のフローチャート トークン消費要求 グローバルバケットに 空きがある? ない × 制限 グローバル枠の枯渇 ない ×

    制限 専用レーン枠の枯渇 ある ✓ 許可 グローバルを消費 いいえ アクセス集中ショップ? はい ✓ 許可 グローバル+専用を消費 ある 専用バケットに空きがあ る? © 2012-2026 BASE, Inc. 35 35
  6. まとめ 負荷対策として以下のプロセスを行ってきました • 計測 :外部 APIの応答時間やステータスコードを可視化し、高負荷時のログを永続化しました • 分析・仮説:情報取得系 APIのRateLimitがボトルネックであることを突き止めました •

    対策 :外部 APIの通信数を減らし、 1ショップの占有を避けるため RateLimiterを導入しました • 検証 :負荷テストを行い、課題が解消されていることを検証しました 負荷対策は「計測」 →「分析・仮説」 →「対策」 →「検証」の繰り返しであることが分かります © 2012-2026 BASE, Inc. 38 38