概要
- Redisのソースクローズ を契機に、コミュニティ主導で誕生した Valkey の1年目の成果
- Valkey 8.1 が Redis 8.0 を実ベンチマークで上回る性能を達成
- I/Oスレッドやコア割り当て などの最適化手法の詳細解説
- ベンチマーク再現方法や パフォーマンスチューニングの実践例 を紹介
- Momento社 による支援体制と今後への展望
Valkey誕生とRedisコミュニティの分岐
- Redis Inc がソースコードをクローズし、コミュニティとの信頼関係に亀裂
- Valkey がRedisからフォークされ、オープンソース文化の継承を目指す動き
- Salvatore Sanfilippo(Antirez) のRedis復帰とRedis 8.0の再オープンソース化
- SSPL採用によるコミュニティとの関係悪化、コントリビューション減少の課題
- Valkey が分裂ではなく、協調と進化の象徴として機能
Valkey 8.1 vs Redis 8.0:性能比較
- AWS Graviton4 c8g.2xlarge(8 vCPU) でベンチマーク実施
- Valkey 8.1.1 が 999.8K RPS(SET)/ 0.8ms p99レイテンシ を記録
- Redis 8.0 は 729.4K RPS(SET)/ 0.99ms p99レイテンシ に留まる
- SETで37%高いスループット、GETで16%高いスループット をValkeyが実現
- p99レイテンシ もSETで30%、GETで60%以上高速化
I/Oスレッドとマルチスレッド化による進化
- Redis/Valkeyはシングルスレッド という誤解の払拭
- I/Oスレッド を6本有効化で、Valkeyは 239K → 678K RPS へ大幅向上
- p99レイテンシ も1.68msから0.93msへ短縮
- Redisも同様に 235K → 563K RPS、p99レイテンシ1.35ms→0.84ms
- 3スレッド以上 から効果が顕著、4スレッド以降はValkeyが大きくリード
コア割り当てとIRQ最適化による更なる高速化
- Rezolus でCPU使用率やIRQ割り込みの偏りを可視化
- IRQを2コアにピン止め し、残り6コアにValkey/Redisを割り当て
- Dockerの--cpuset-cpus でプロセスのコア固定を実現
- クロスコア競合低減・キャッシュローカリティ向上 でレイテンシ最小化
- この最適化により 832K → 999.8K RPS へスループット向上
ベンチマーク再現方法とチューニングのポイント
- AWS Graviton4 c8g.2xlarge (8 vCPU)と c8g.8xlarge (32 vCPU)を使用
- EC2プレースメントグループ(クラスターモード) でネットワークジッタを最小化
- コア割り当て・IRQ数削減 によるパフォーマンス向上
- 接続数調整 が重要(Valkeyは400接続でベスト、1024接続以上でレイテンシ急増)
- キー空間・アイテムサイズ を現実的な値(1KB, 3Mアイテム)で設定
- ベンチマークツールのマルチスレッド化 も効果的(--threads 6)
ベンチマークの限界と今後の展望
- valkey-bench は最大負荷を与える設計、現実的なTPSターゲットや負荷変動には未対応
- SET:GET比率 の調整やスパイク再現など、より現実的なシナリオが今後の課題
- Momento社ではrpc-perfを活用 し、より実運用に近い検証を推進
- ベンチマーク結果はあくまで一例、 本番環境では小さな差異が大きな影響
パフォーマンスは継続的な実践
- ValkeyはRedisを凌駕する新たな基準 を提示
- パフォーマンス最大化には システム・インフラ・ワークロードの総合的な知見 が不可欠
- Momento社 はValkey、Redisのパフォーマンスチューニング支援を提供
- リアルタイムインフラの最適化 を目指す企業へのサポート体制
謝辞・著者紹介
- IOP SystemsのYao氏とBrian氏、rpc-perfやrezolusのツール提供に感謝
- Khawaja Shams (Momento CEO/Co-Founder):AWS DynamoDBやメディアサービス、NASAでの実績
- チーム・ビジョン・実行力 を重視したリーダーシップ
Redis/Valkeyの最新動向 や 高パフォーマンス化 に関心のある方は、Momento社までご相談を。