← すべての登壇

/ 2026年10月 · プラハ

Valkey 9.1 の Active-Time とイベントループ指標で飽和を測る

ValkeyConf 2026 · 選出。ビザが間に合いませんでした。

/ 概要

Valkey サーバーの CPU が 100% と表示されています。飽和しているのでしょうか。その数値からはわかりません。そしてこれは監視のバグではありません。Valkey のメインスレッドと I/O スレッドは、仕事をビジーウェイトで待ちます。待っているスレッドは、働いているスレッドとまったく同じように CPU を消費します。報告されたある例では、スループットが 217K から 452K QPS へと 2 倍になる間、メインスレッドの CPU はずっと 100% 近くで横ばい、合計 CPU は 400% に張り付いていました。その数値の上に作られたアラート、ダッシュボード、オートスケーリングのポリシーは、すべてノイズを読んでいることになります。Valkey 9.1 はその答えを出しました。used_active_time_main_thread と used_active_time_io_thread_N です。単調時計の上で、実時間からビジーウェイトとブロッキング epoll を引いて測るので、余力が実際に見えるようになります。

このセッションでは、INFO から本当の飽和シグナルを組み立てます。
- スレッドごとの真の使用率を出す active-time の差分
- I/O とコマンド実行を分ける eventloop_duration_sum − eventloop_duration_cmd_sum
- 平均が隠すものを捉える latencystats のパーセンタイル

そのうえで I/O スレッド数を調整し、結果を log-format json で出します。「余力はどれくらいあるのか」に答えられるようになり、何も教えてくれなかった CPU アラートを引退させられます。

/ ジャーニーより

2026年10月5日ValkeyConf プラハのビザが下りなかった2026年8月20日2026 年 8 月の振り返り