【要約】Linux 7.0 Broke PostgreSQL: The Preemption Regression Explained [Hacker_News] | Summary by TechDistill
> Source: Hacker_News
Execute Primary Source
// Discussion Topic
Linuxカーネルのスケジューリング変更に伴う、PostgreSQLへの影響。
- ・プリエンプション(タスク中断)の頻度増加。
- ・コンテキストスイッチの増大によるオーバーヘッド。
- ・CPUキャッシュの不整合とレイテンシの悪化。
- ・スケジューラの決定論的な挙動の喪失。
// Community Consensus
カーネル側の「応答性向上」という目的が、DBの「一貫したスループット」を阻害している。
【賛成(カーネル側)】
【賛成(カーネル側)】
- ・一般的なデスクトップ利用の快適性が向上。
- ・インタラクティブなタスクの遅延を抑制。
- ・テールレイテンシ(p99)の劇的な悪化。
- ・スループットの低下によるリソース効率の悪化。
- ・汎用カーネルをそのままDBに適用するのは危険。
- ・ワークロードに応じたカーネルチューニングが必須。
// Alternative Solutions
- ・
tasksetによるCPUアフィニティ(固定)の設定。 - ・
sysctlを用いたスケジューラパラメータの微調整。 - ・
chrtによるプロセス優先度(リアルタイムスケジューリング)の制御。 - ・
PREEMPT_VOLUNTARY等、プリエンプション強度の低いカーネル構成の採用。
// Technical Terms
Senior Engineer Insight
> OSのアップデートは、DB環境において最大の破壊要因になり得る。今回の件は「最新のカーネルが常に最適とは限らない」ことを示している。
実戦における評価基準:
実戦における評価基準:
- ・カーネル更新時は、必ずp99レイテンシを計測せよ。
- ・「応答性」と「スループット」のトレードオフを意識せよ。
- ・インフラの抽象化を過信せず、スケジューラの挙動を把握せよ。