クラウドサーバーのベンチマークとスペック偽装:旧型CPUの見分け方と回避策
3つの証拠で旧型CPUの割増料金の嘘を暴く
Steal Time + ディスクCache + 実際のベンチマークの3重検証で、旧型CPUに割増料金を払うのを拒否。
ベンチマーク実測値と公称値はどれだけ違うか
クラウドサーバーのベンチマークスコアと公称構成の差は、想像以上に大きいことがよくあります。特に「高クロック」を謳う古いCPU、例えば E5-2690 v4 や E5-2680 v4 といった2016年前後のXeonは、シングルコアの周波数は高く見えますが、実際にシングルスレッドのベンチマークを取ると、新しい世代のXeonの半分しかないことがあります。ベンチマークの「水増し」の根本原因は主に2つあります。1つはハードウェアの世代差、もう1つはオーバーセール(過剰販売)による Steal Time の急上昇です。
古いプラットフォームで仮想化を導入すると、/proc/stat の steal フィールドから、CPU がハイパーバイザーに奪われた時間が分かります。mpstat -P ALL 1 で %steal が長期間10%を超える場合、隣人があなたとリソースを奪い合っていることを意味します。この場合、公称値がどれだけ高くても、ベンチマークスコアは安定しません。もう1つの分かりにくい指標はディスクキャッシュの急落です。古い CPU に古いストレージを組み合わせた環境では、キャッシュが尽きると IOPS が半減し、ベンチマークのグラフに明確な落ち込みが現れます。
差を数値化したい場合は、yabs または sysbench cpu --threads=1 run を実行し、公式の公称値と比較します。私は公称3.5GHzの古いプラットフォームで、実際のシングルコアスコアが2.9GHzの新しいプラットフォームより40%低いケースに遭遇しました。つまり、「高クロック + 古い構成」に支払うお金の半分は、中古ハードウェアへのプレミアムである可能性があります。これはまさに FinOps における最も典型的な負のコストです。同じ予算であれば、新しいプラットフォームや公式認定インスタンスを選ぶ方が、単位計算能力あたりのコストは低くなります。
したがって、公称パラメータだけを見ないでください。云划算 で、実測ベンチマークスコアと Steal Time のしきい値に基づいてインスタンスを絞り込み、予算を実際のパフォーマンスに費やすことをお勧めします。
Steal Timeで超売(オーバーセリング)を見抜く
クラウドサーバーのスペック偽装を見破る最初の一手は、steal time をチェックすることだ。この指標はハイパーバイザーからの合図である。物理CPUが隣の仮想マシンに占有されているとき、あなたのvCPUは待つしかない。top で C を押してCPUリストに切り替え、t でsteal列を確認するか、vmstat 1 を実行して st フィールドを観察しよう。数分間サンプリングして、st の平均が5%を超え、20%以上のスパイクが見られるなら、おめでとう、あなたは厄介な隣人たちと同じ物理コアを共有している。
# 连续采样 10 次,每次间隔 1 秒,取 st 平均值
vmstat 1 10 | awk 'NR>3 {sum+=$16} END {print "avg steal:", sum/(NR-3), "%"}'Steal Timeのスパイクは、安定した高値よりも警戒すべきだ。超売(オーバーセリング)が動的であり、ピーク時にはレスポンスタイムが心電図のようにランダムに乱れることを意味するからだ。前のセクションで述べたディスクCacheの急落と合わせれば、これは古い物理マシン上で繰り返し転貸されているホストであることがほぼ確実になる。
FinOpsの観点から見ると、これは典型的なプレミアム詐欺だ。あなたは新しいハードウェアの価格を支払っているのに、実際に手に入るのは古いCPUを粉々にした残骸であり、プレミアム率はパブリッククラウドの3倍に迫る。高クロックに惑わされてはいけない。古いXeonのシングルコアがどんなに強くても、隣人の横取りには耐えられない。ベンチマークを実行する前にstealを確認すべきだ。さもないとGeekbenchの数字がどれほど美しくても、それは超売(オーバーセリング)の砂上の楼閣にすぎない。この指標は無料で再現可能であり、どのベンダーの約束よりも誠実だ。
ディスクCache断崖の証拠収集
前段で Steal Time を使ってオーバーコミットを検出しましたが、古いデータセンターの中には CPU スケジューリングを平滑化していて、Steal の数値がさほど悪く見えないことがあります。そんな時はすぐに結論を出さず、ディスク Cache に注目を移しましょう。ディスク Cache は最も嘘をつかないハードウェアの一つです。
実務では、fio を使って2回連続で実行します。まず Page Cache を含む buffered 書き込みを測定し、次に Cache を迂回する direct 書き込みを測定します。コマンドはおおよそ以下の通りです。
# 第一轮:缓冲写(吃内存Cache)
fio --name=cache-test --rw=write --bs=1M --size=2G --direct=0 --ioengine=libaio --runtime=30 --time_based
# 第二轮:直写(绕Cache,直接落盘)
fio --name=direct-test --rw=write --bs=1M --size=2G --direct=1 --ioengine=libaio --runtime=30 --time_based重要なのは、2回の数値の「断崖比」です。新しめの NVMe クラウドディスクでは、direct 書き込みは buffered 書き込みの60%〜80%程度です。古い機械式ディスクや共有ストレージでは、direct 書き込みは10%未満に落ち込むこともあります。もし仕様上 2000 MB/s なのに direct 書き込みが 150 MB/s しか出ないなら、典型的な Cache の断崖です。データは最初に騙し、実際にディスクに書かれて初めて実力が見えます。
この証拠は Steal Time と合わせて見る必要があります。Steal が高いということは隣のインスタンスが CPU を奪っているということであり、ディスクの断崖はストレージ経路も逼迫していることを示します。この2つの証拠が重なれば、ほぼオーバーコミットと断定できます。しかも単なるオーバーコミットではなく、基盤となるハードウェアも老朽化しているタイプです。
FinOps の観点から言えば、このようなマシンは「残存価値」で価格設定されるべきです。仕様構成に対応するプレミアム率が新規マシンの3割を超えるなら、直接値切るか、値切れなければ交換しましょう。結局、あなたがお金を払って買っているのは Spec であって、Cache 上の蜃気楼ではありません。完全な回避策リストは クラウドサーバー性能虚偽表示セルフチェックガイド を参照してください。
プレミアム率と落とし穴回避の決定木
「高クロックの古いCPU」のクラウドサーバーを手に入れても、急いで金を払わないこと。まずプレミアム率を計算する:(実際の月額 - 同構成の新CPUの市場価格)/ 同構成の新CPUの市場価格。プレミアムが30%を超えるなら、基本的に退役ハードウェアに知能税を払っていると断定してよい。さらに厳しいやり方としては、FinOpsの観点から直接定量化する:同じ予算で2倍のコア数のAMD EPYCや3年新しいIntelが買えるか?買えるなら、この購入は承認を通るべきではない。
次に私の三重の証拠収集決定木を進める:
- Steal Timeで悪質な隣人を捕まえる
vmstat 1 10 | awk '{print $17}' # st列を見る連続サンプリングでst平均 > 5%、または20%以上のスパイクが出た場合、ホストのオーバーセールが深刻で、CPU時間が隣人に盗まれていることを示す。スペックダウンが唯一の損切り策だ。
- ディスクCacheの断崖テスト
dd if=/dev/zero of=/tmp/test bs=1M count=1024 conv=fdatasync1回目はキャッシュで1.5GB/s、2回目は150MB/sに直落ち。キャッシュが水漏れしている、典型的な共有ストレージのオーバーセール。古い構成+ディスク断崖=二重の虚偽表示。
- 実際のベンチマーク比較
curl -sL yabs.sh | bashシングルコアGeekbench 5が700未満なのに、表記クロックが3.5GHz?このレポートを直接カスタマーサポートに持って行き、4コア新CPUとの差額返金または移行を要求する。
最後にハードルールを一つ:宣伝ページに「ハイパフォーマンス」と書いてあるが、販売前に実測ベンチマークのリンクを提供しない場合は、すべて構成の虚偽表示として扱う。ベンチマークは自分だけを信じ、プレミアムは新CPUにだけ払う。
FAQ
クラウドサーバーのCPUが旧型かどうかをどう見分けますか?
cat /proc/cpuinfoコマンドでモデルを確認し、発売年と比較します。さらにSteal Timeを監視し、stealが高い場合はオーバーコミットを示し、旧型CPUの性能はさらに低下します。
スペック偽装の場合、実際の性能をどう検証しますか?
sysbenchでCPUテストを実行し、公式ベンチマークスコアと比較します。同時にディスクCacheとIOPSを確認し、経年劣化したディスクは実際のベンチマークスコアを引き下げます。