Closed6

Spring Batchの実行履歴が肥大化して書き込み負荷が上昇した

福地春喜福地春喜

CloudWatch上、RDSに関わるその他のメトリクスは次のようだった:

  • RDS CPU Utilizationが上昇傾向
  • RDS Freeable Memoryは定期的に解放されていそうで安定
  • RDS Read IOPSはCPU Utilizationとの相関なく安定
  • RDS Write IOPSはが大きく跳ねてそこから上昇傾向
  • RDS Read ThroughputはCPU Utilizationとの相関なく安定
  • RDS Write ThroughputはWrite IOPSと相関ありで同じような動き
  • RDS Free Storage Spaceが減少傾向
  • RDS Database ConnectionsはCPU Utilizationとの相関なく安定

変化が起きたタイミングは先のデプロイであるようだった。

福地春喜福地春喜

肥大化による書き込み負荷への影響を疑う。

福地春喜福地春喜

レコードの状態はn_live_tupの降順で次が上位だった:

  • batch_job_execution_params
  • batch_step_execution_context
  • batch_step_execution
  • batch_job_execution
  • batch_job_execution_context
  • batch_job_instance

いずれもSpring Batchの管理テーブル。

福地春喜福地春喜

なお、ここで:

項目 意味 主な用途
n_live_tup 現在有効な行の推定件数 テーブルの規模をざっくり把握する
n_dead_tup 無効化された削除済み行の推定件数 bloat・autovacuum状況の診断に使う
福地春喜福地春喜

手違いで、ジョブの実行を想定よりも多くしてしまっていたことが原因と判明した。実行履歴のローテートはしているが、それを上回るくらいになってしまっていた。

このスクラップは3日前にクローズされました