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

Romi チームの OpenSearchのコスト最適化事例


Romi チームの OpenSearchのコスト最適化事例


本資料は、6/7(水) に開催された
【MIXI × Money Forward × NewsPicks共同開催】AWSコスト最適化夏祭り
における、Romiの加藤による発表資料です。
 
YouTube のアーカイブもありますので、是非、こちらもご覧ください。
https://youtube.com/live/5XY7KgzMU0E?feature=share

#AWSコスト夏祭り

MIXI ENGINEERS

June 07, 2023
Tweet

More Decks by MIXI ENGINEERS

Other Decks in Technology

Transcript

  1. ©MIXI 自己紹介!
 加藤 修悟 a.k.a. ろぐみ
 
 21新卒 3年生
 Romiという会話AIロボットを作ってます

    
 
 主な領域:
 - サーバーサイド
 - Webフロントエンド
 - インフラ(AWSまわり) 
 
 最近 ハイラルに住んでます 
 

  2. ©MIXI Romiと ?
 • ディープラーニングを応用した会話AIロボット 
 
 (従来) ルールベース中心 


    
 - 人手で書くシナリオ
 - すぐに脱線する
 - 人手に 限界がある 
 - パターンを試しきったらおもちゃ感 
 (Romi) ディープラーニング中心 
 
 - 大量 データから学習 
 - より柔軟、文脈を考慮して会話可能
 - 時間、季節、記憶、好みも加味 
 - (我々も)何を話すかわからない 
 よろしく !
  3. ©MIXI 文脈を考慮?
 • 過去 会話履歴が必要 
 ◦ OpenSearchで読み書き! 
 ◦

    直近 会話履歴を会話AIサーバーへ送信 
 
 Romiサーバー OpenSearch
  4. ©MIXI あれ?OpenSearch高くない???
 • GPUインスタンスが1番高い 
 ◦ それ そう
 • 2番目がOpenSearch…?

    
 ◦ Romiで 2クラスター使用 
 ▪ サーバー ログ
 ▪ 会話 ログ
 
 にしても高い
 GPUインスタンス OpenSearch
  5. ©MIXI Why インスタンスサイズがリッチ?
 • クエリ そこまで重くない 
 • 平均的な速度も問題ない 


    • たまに謎タイムアウトする 
 ◦ いったんリッチなインスタンスにして 力で解決した
 

  6. ©MIXI どこがネック?
 • シャード数が700個オーバー → 多すぎ 
 ◦ シャードが多いとヒープを食い潰して遅くなる 


    ◦ シャード数 インデックス 数に原則比例 
 • 1シャードあたりが使う容量が小さすぎ 
 ◦ 目安 10〜50GB/shard 
 ◦ Romiチームで 当時数10〜数100MB/shard 
 
 ⇒ インデックス 切り方を変えよう! 
 index shard shard doc doc doc doc doc doc
  7. ©MIXI インデックス 切り方
 • 元々: log-YYYY-mm-dd 
 ◦ 日単位で切る
 ◦

    これで数10〜数100MB/shard ということ ・・・ 
 • 作戦: log-YYYY-mm 
 ◦ 月単位で切る
 ◦ 30GB/shard 程度に余裕で収まりそう! 
 ◦ 日付単位で切ったインデックスをマージすれ 良さそう 
 ▪ _reindex API
 

  8. ©MIXI • ダブルライトしよう! 
 ◦ 2つクラスターを用意 
 ◦ スナップショットを取れ クローンが作れる

    
 ◦ 同一ID ログをダブルライト 
 ▪ UUIDあたりを使え OK 
 
 
 
 
 サービスを止めたくない
 クラスターA(元々あるや つ)log-YYYY-mm-dd
 クラスターB(A クローン) 
 log-YYYY-mm にマージ 

  9. ©MIXI ダブルライト
 • 最初 Aから読み込み 
 • クローン作成、マージ 間にA書き込まれたデータをBに追記 


    ◦ ダブルライト開始まで 空白埋め 
 ◦ elasticdumpが便利
 ◦ 同一ID も 無視して追記できる(重複ログを防止) 
 • すべて完了したら読み込みをBにスイッチ 
 クラスターA(元々あるや つ)log-YYYY-mm-dd
 クラスターB(A クローン) 
 log-YYYY-mm にマージ