Linuxサーバーをベンチマークして最適なサーバーを選ぶ方法【fio・Geekbench・Speedtest活用ガイド】

VPS(仮想専用サーバー)や専用サーバーが必要になったとき、選択肢は実に豊富にあります。しかし市場は飽和状態にあり、常に変化しているため、全員にとって「最良のサーバー」は存在しません。少なくとも、あらゆる面で「最良」と言えるものはないのが実情です。
あるクラウドプロバイダーは高速なストレージを備えたVPSを提供している一方で、CPU性能は今ひとつというケースもあります。逆に、業界最高水準のCPU性能を誇りながらストレージが遅いプロバイダーもあれば、半年後には設備を刷新して業界トップに躍り出るプロバイダーもあるでしょう。競争が激しい市場だからこそ、ベンチマークを実施して各プロバイダーを客観的に比較し、「現時点で自分に最適なサーバー」を選ぶことが重要になります。
ベンチマークについて知っておくべきこと
本来、ベンチマークは特定の用途やハードウェア構成に合わせてカスタマイズし、機器の最大性能を引き出すために行うものです。しかし本記事では、誰でも再現できる汎用的なテストを実行します。理論上の限界値まで性能を絞り切れない可能性はありますが、同じOS上で同じパラメータでテストすれば、同一条件下でのプロバイダー間比較が可能な「信頼できる実測値」が得られます。
事前準備
- OSには最新のUbuntu安定版イメージを使用します(執筆時点では18.04 LTS)。後から別のOSへ移行しても問題ありません。ここでの目的は、全サーバーで共通の出発点を確保することです。
- 本チュートリアルのコマンドは状況に応じて調整しても構いませんが、正確な比較のためには、すべてのサーバーでまったく同じパラメータを使うことを忘れないでください。
- 各サーバーで同じベンチマークを2回実行することをおすすめします。結果に大きなばらつきがあるプロバイダーは、ゲストOSの分離が不十分か、同一ハードウェアに過剰な数の顧客を詰め込んでいる兆候があるため、避けるべき対象です。
- 本記事はrootログインを前提としています。一般ユーザーで作業する場合は、
aptコマンドすべてにsudoを付けてください。例:sudo apt update && sudo apt install fio
サーバーストレージのベンチマーク
まず、ベンチマークツール「fio」をインストールします。
apt update && apt install fio
「fioが見つからない」というエラーが出た場合は、universeリポジトリが無効になっています。apt install software-properties-common && add-apt-repository universeでリポジトリを有効化してから、もう一度インストールコマンドを実行してください。
シーケンシャル読み取り速度の計測
シーケンシャル読み取りとは、データを連続的に読み込む処理のことです。たとえば4GBのファイルを先頭から末尾まで読み込むケースが該当し、ストレージとファイルシステムの最大読み取り速度がおおよそ分かります。次のコマンドでテストできます。
fio --name=seqread --readwrite=read --direct=1 --ioengine=libaio --bs=1M --size=2000M
テストが20秒以内に終わってしまう場合(SSD環境でよく起こります)は、より正確な結果を得るためにファイルサイズを大きくしましょう。
fio --name=seqread --readwrite=read --direct=1 --ioengine=libaio --bs=1M --size=8000M
結果の中で最も注目すべき数値は READ: bw(下図参照)です。

シーケンシャル書き込み速度の計測
書き込み速度は次のコマンドで計測します。
fio --name=seqwrite --readwrite=write --direct=1 --ioengine=libaio --bs=1M --size=2000M
読み取りテストと同様に、WRITE: bw の数値を確認してください。
高負荷時のランダムアクセス性能の計測
最も負荷の高い状況下でのストレージ性能を確認するには、次のテストを実行します。
fio --name=randrw --readwrite=randrw --direct=1 --ioengine=libaio --bs=4k --size=200M --group_reporting --numjobs=8
こちらもテストが短時間で終わる場合は --size の値を増やしてください。このテストでは帯域幅は二次的な指標であり、まず read: IOPS と write: IOPS に注目しましょう。

実際の運用をイメージすると、大規模なデータベースを抱える高トラフィックのWebサイトでは、絶え間ない読み書きによってストレージがこのテストと同等の負荷を受けます。
サーバーのCPU・メモリのベンチマーク
CPUとメモリの総合性能を測るには、定番ツール「Geekbench」を使用します。Geekbenchのダウンロードページにアクセスし、最新版アーカイブのURLをコピーして wget コマンドに貼り付けます。執筆時点のURLは「https://cdn.geekbench.com/Geekbench-4.3.3-Linux.tar.gz」です。
wget https://cdn.geekbench.com/Geekbench-4.3.3-Linux.tar.gz
アーカイブを展開します。
tar -xzvf *.tar.gz

展開してできたディレクトリに移動します。ディレクトリ名はダウンロードしたバージョンと一致します。
cd Geekbench-4.3.3-Linux
執筆時点では実行ファイル名は geekbench4 ですが、バージョンによって変わる可能性があります。念のため ls コマンドでファイル一覧を確認しておきましょう。
ls

ベンチマークを実行します。実行ファイル名が異なる場合は適宜読み替えてください。
./geekbench4
全テストの完了までにはしばらく時間がかかります。終了すると、結果をブラウザで確認できるURLが表示されます。

サーバーのネットワーク帯域幅のベンチマーク
ネットワーク速度の計測には、SpeedtestのCLI版クライアントを使います。まずインストールしましょう。
apt install speedtest-cli
続いて、ベンチマークを実行します。
speedtest

通常、このツールはサーバーから地理的に最も近いテストサーバーを自動的に選択します。位置情報の検出に失敗した場合は、次のように国名を指定してサーバー一覧を取得できます。
speedtest --list | grep -i germany
一覧から任意のサーバー番号を選び、次のコマンドで指定して実行します。
speedtest --server 4462
なお、Speedtest側のサーバーによっては一時的に利用可能な帯域幅が狭くなっていることがあります。明らかに低すぎる数値が出た場合は、別のアップロード/ダウンロードサーバーを試してみてください。
まとめ
本記事では、fioによるストレージ計測、GeekbenchによるCPU・メモリ計測、Speedtestによるネットワーク計測という、サーバー選定に欠かせない基本的なベンチマーク手法を解説しました。各テストで得られた数値を比較すれば、自分のワークロードに最も適したスペックを持つサーバーを、根拠のあるデータに基づいて選択できます。契約前に必ずベンチマークを行い、後悔のないサーバー選びを実現しましょう。
-
最適な画面録画ソフトの選び方|失敗しない選択のための完全ガイド
ゲーマー、配信者、ウェブキャスト制作者などにとって、画面録画技術は日々の活動を大きく快適にしてくれる存在です。画面録画アプリを活用すれば、画面の記録作業がぐっと簡単になり、録画したコンテンツを共有するか、自分用に保存するかも自由に選べます。しかし、無料・有料を含めて数多くの選択肢がある中で、自分に最も適したソフトウェアを見極めるのは容易ではありません。ここでは、失敗しないために押さえておくべき重要なポイントを解説します。 画面録画ソフトを選ぶ際に考慮すべき5つのポイント 1. 使いやすいユーザーインターフェース 操作性の良さは非常に重要です。そのソフトは初心者向けに設計されているのか、それと
-
メカニカルキーボードの選び方完全ガイド|サイズとスイッチの種類を徹底解説
近年、メカニカルキーボードの人気が急上昇しています。ゲーミング用途はもちろん、こだわり派のエンスージアスト向けのカスタムモデルも豊富に登場し、もはや一つの趣味文化として確立されつつあります。しかし、初めてメカニカルキーボードを選ぶとなると、「どのサイズを選べばいいのか」「スイッチの違いは何なのか」と迷ってしまう方も多いのではないでしょうか。 本記事では、メカニカルキーボードの基本構造から、サイズ(フォームファクター)の違い、スイッチの種類ごとの特徴まで、初心者にもわかりやすく解説します。この記事を読めば、自分にぴったりの一台がきっと見つかるはずです。 メカニカルキーボードとは? 一言