Start typing to search across invoices, services, domains, tickets, and more...
新しいVPSや専用サーバーを手に入れたら、まずベンチマークを実行しましょう。CPU、メモリ、ディスク、ネットワークが想定どおりかを確認でき、後で性能問題を調べるときの比較用データにもなります。本ガイドでは最もよく使われる4つのベンチマークツールを取り上げ、結果に出てくる各数値が何を意味し、良し悪しをどう判断するかを中心に解説します。
# Ubuntu / Debian
sudo apt update && sudo apt install -y curl wget fio
# Rocky / Alma 9
sudo dnf install -y curl wget fio
注意:これらのベンチマークスクリプトはサードパーティのオープンソースプロジェクトによるものです。実行前にダウンロードして
lessで内容を確認できます。ベンチマークは短時間CPU、ディスク、帯域を使い切るため、ピーク時間帯の本番サーバーでの実行は避け、長時間繰り返し実行しないでください。
オープンソース開発者Teddysunがメンテナンスするbench.shは、数分でシステム情報、簡単なディスク書き込みテスト、複数拠点へのダウンロード速度テストの結果を出力します。
wget -qO- bench.sh | bash
# or
curl -Lso- bench.sh | bash
結果の読み方:
YABS(Yet-Another-Bench-Script)はfioによるディスクテスト、iperf3によるネットワークテスト、GeekbenchによるCPUスコアを含み、サーバー性能を比較する際にコミュニティで最も広く使われている標準です。
curl -sL https://yabs.sh | bash
よく使うオプション:
# Skip the iperf3 network test
curl -sL https://yabs.sh | bash -s -- -i
# Skip Geekbench and test only disk and network
curl -sL https://yabs.sh | bash -s -- -g
# Run only Geekbench 6 (skip disk and network)
curl -sL https://yabs.sh | bash -s -- -f -i
fioセクション: YABSは4k、64k、512k、1mの4種類のブロックサイズでランダム読み書きの混合テストを行います。
iperf3セクション: 世界各地の公開iperfサーバーへの送信(Send)と受信(Recv)の速度を表示します。公開サーバーは混雑していることが多いため、一部の数値が低いのは正常です。全体的な傾向を見ましょう。
Geekbenchセクション: シングルコア(Single Core)とマルチコア(Multi Core)のスコアに加え、他のサーバーと直接比較できるオンライン結果のリンクが表示されます。シングルコアのスコアはPHPやNode.jsなどシングルスレッドのアプリケーションの応答速度に、マルチコアのスコアはコンパイル、トランスコード、並行処理に影響します。
特定のシナリオをテストしたいときは、fioを直接使うほうが細かく制御できます。次は4Kランダム読み書き(データベース負荷を想定)のテストです。
fio --name=rand4k --filename=/root/fio.test --size=1G \
--direct=1 --ioengine=libaio --rw=randrw --rwmixread=70 \
--bs=4k --iodepth=64 --numjobs=2 --runtime=60 --time_based \
--group_reporting
1Mシーケンシャル読み込みのテスト:
fio --name=seq1m --filename=/root/fio.test --size=1G \
--direct=1 --ioengine=libaio --rw=read \
--bs=1M --iodepth=16 --numjobs=1 --runtime=30 --time_based \
--group_reporting
テストが終わったらテストファイルを削除します。
rm -f /root/fio.test
注目すべき指標:
IOPS=:1秒あたりの読み書き回数。高いほど良好です。BW=:帯域幅(スループット)。clat 遅延の平均値と 99.00th パーセンタイル:遅延が低いほど安定しています。99パーセンタイルの遅延が平均値を大きく上回る場合、ディスクにジッターが発生しています。--direct=1 はシステムキャッシュをバイパスし、メモリキャッシュによって結果が実際より高く出るのを防ぎます。
後で比較できるよう、出力を保存しておきましょう。
curl -sL https://yabs.sh | bash 2>&1 | tee ~/yabs-$(date +%F).txt
ddのシーケンシャル書き込みは大きなファイルの書き込み性能しか表しません。Webサイトやデータベースは4Kランダム読み書きと遅延により強く依存します。さらに、サイトの速度は回線、アプリケーション、キャッシュ設定にも左右されます。fioの4K結果とネットワークテストを組み合わせて総合的に判断しましょう。
公開の速度測定ノードが混雑している可能性があり、国をまたぐテストは相手側のネットワークにも制限されます。時間帯を変えたり複数のノードでテストしたり、サーバーと手元のパソコンの間でiperf3を直接実行したりしてみてください。それでも明らかに低い状態が続く場合は、テスト結果とMTRの経路出力を添えてチケットを送信してください。
正常です。仮想化環境ではCPUとディスクを複数のインスタンスで共有するため、ある程度の変動は避けられません。複数回の結果が近い範囲に収まっていれば問題ありません。ある回だけ大きく下がった場合は、時間をおいて再テストしましょう。
できません。Geekbench 5とGeekbench 6はスコアの基準が異なるため、同じバージョン同士でのみ比較してください。YABSは現在、デフォルトでGeekbench 6を使用しています。
bench.shは簡易チェック、YABSは総合的な横並び比較、fioはディスクの的を絞ったテストに向いています。3つを組み合わせれば、サーバーの実際の性能をはっきり把握できます。IMIDCは複数地域でVPSと専用サーバーを提供しており、サーバーの納品後に本ガイドの方法で仕様をご自身で確認できます。結果が想定と大きく異なる場合は、テスト出力を添えてクライアントセンターから24時間365日対応のチケットを送信してください。技術チームが調査をお手伝いします。