「サーバー速度No.1」の注記の読み方|h2loadの条件と、自分のサイトで5回測ったらばらついた

レンタルサーバーの広告には、「国内最速No.1」「処理速度No.1」といった言葉が並びます。小さな字の注記には、調べた日・方法・比べた相手が書かれています。この記事では、注記に書かれた条件を分解して、何が分かって何が分からないのかを整理し、さらに筆者のサイトにh2loadとは別の簡易な負荷を5回かけて、測るたびにどれだけ数字がばらつくかを確かめました。

(確認:エックスサーバー社のサービス(シンレンタルサーバーとXServer VPS)の公式サイトの注記と、h2loadのマニュアル。確認日:2026年10月21日。筆者は各サービスを契約しておらず、速度の優劣を判断するものではありません)

公式の注記に書かれていること

項目 シンレンタルサーバー(サーバー速度) XServer VPS(サーバー速度) XServer VPS(性能)
調べた時期 2026年6月30日 2026年7月13日 2024年11月18日
誰が 自社調べ 自社調べ 自社調べ
比べた相手 自社サービスを除いた国内シェア上位3サービスと、独自に選んだ国内の著名サービス・プランの計6つ 自社サービスを含む国内シェア上位3サービスと、独自に選んだ国内の著名サービス・プランの計6つ 国内シェア上位3社のVPS。メモリ2GBのプランが対象
測ったもの h2loadを5回計測 h2loadを5回計測 CPUはsysbench、IOPSはブロックサイズ1MB・合計2GBで5分ごとに70回のランダム読み書きの平均
プランの選び方 複数プランがあるサービスは、独自に選んだプランを除き、最下位のプランで計測 同左 メモリ2GBのプラン

「自社調べ」であること自体は悪いことではありません。条件を公開していれば、読む側が判断できます。ただし、注記に書かれていない条件が多いことにも気づきます。

h2loadとは何か、何が書かれていないか

h2loadは、nghttp2が提供する「HTTP/2サーバーのベンチマークツール」です。マニュアルによると、主な設定には次のものがあります。

  • -n:全体のリクエスト数(既定は1)
  • -c:同時に接続するクライアント数(既定は1)
  • -m:1つの接続で同時に流すストリーム数(既定は1)
  • 結果として、1秒当たりのリクエスト数などが出る

注記には「h2loadを5回計測した」とだけあり、リクエスト数・同時接続数・測るページ・結果の集計の仕方(平均か中央値か最良か)は書かれていません。そのため、読者が同じ条件で再現することはできません。また、h2loadが測るのはサーバーが返せるリクエストの量で、ブラウザに表示されるまでの体感の速度(LCPなど)とは別のものです。

自分のサイトで5回測ったら、どれだけばらついたか

h2loadとは別の、PowerShellで送る簡易な負荷を、筆者のサイト(自分のサイトだけ)に5回かけました。PowerShell 7で、同じURLに同時5本・合計50回のGETを送り、全体の所要時間から1秒当たりの回数を出しています(2026年10月21日)。

回 所要時間(50回) 1秒当たり
1 5.36秒 9.3回
2 3.41秒 14.7回
3 1.27秒 39.2回
4 2.21秒 22.6回
5 1.12秒 44.5回

5回で最も遅い回(9.3回/秒)と最も速い回(44.5回/秒)に、約4.8倍の差が出ました。中央値は22.6回/秒です。同じサイト、同じPC、同じ回線なのに、これだけばらつきます。原因は、サーバーのキャッシュの状態、他のアクセス、通信の揺らぎ、そして筆者のPC側の負荷(PowerShellの並列処理の準備)などが考えられますが、この測定では切り分けていません。サーバー側だけの揺れとは言えません。

この結果から言えるのは、「5回測った」という情報だけでは、平均・中央値・最良のどれを使うかで、結論が変わりうるということです。サーバー会社の注記と同じ手法で、他社のサービスを同じ条件で測ることは、筆者にはできていません。

広告の速度の数字を読む時の質問

  1. 誰が測ったか:第三者か自社か
  2. いつ測ったか:サーバーの構成は変わる。日付が古くないか
  3. 何と比べたか:相手は何社で、どう選んだか。相手のプランは何か
  4. どのプランで測ったか:最下位のプランか、自社の上位プランか
  5. 何を測ったか:サーバーの処理量か、表示までの時間か
  6. 何回測り、どう集計したか:平均・中央値・最良
  7. 測った条件を公開しているか:再現できるか
  8. 自分のサイトに関係があるか:自分のサイトのボトルネックが、サーバーの処理量なのか

8つ目が一番大事です。筆者の運営する13のサイトは、同じサーバーの中でも、トップページの応答時間(TTFB)の中央値が39〜271ミリ秒と開きました(1つの契約に何サイト入れるか)。サイトの作りの影響が、サーバーの差より大きい場合があります。

自分で簡単に測る方法

# 同じURLへ、同時5本で合計50回のGETを送り、全体の所要時間と1秒当たりの回数を出す(PowerShell 7用)。自分のサイトだけに使うこと
param(
    [string]$Url = "https://realine.net/",
    [int]$Total = 50,
    [int]$Parallel = 5,
    [int]$Runs = 5,
    [int]$PauseSec = 5
)
for ($run = 1; $run -le $Runs; $run++) {
    $sw = [System.Diagnostics.Stopwatch]::StartNew()
    $codes = 1..$Total | ForEach-Object -ThrottleLimit $Parallel -Parallel {
        $target = "$($using:Url)?burst=$($using:run)-$_"   # 毎回違うクエリを付けて、キャッシュの当たり方を固定しない
        try { (Invoke-WebRequest -Uri $target -TimeoutSec 20 -SkipHttpErrorCheck).StatusCode } catch { 0 }
    }
    $sw.Stop()
    $sec = $sw.Elapsed.TotalSeconds
    $ok = @($codes | Where-Object { $_ -eq 200 }).Count
    "run {0}: {1:N2}秒 / {2}回(成功 {3})= {4:N1}回/秒" -f $run, $sec, $Total, $ok, ($Total / $sec)
    if ($run -lt $Runs) { Start-Sleep -Seconds $PauseSec }
}

上のスクリプト(Burst-Get.ps1)は、筆者が実際に使ったものです。日本語のコメントを入れているので、Windows PowerShell 5.1では使えず、PowerShell 7で、UTF-8(BOM付き)で保存して実行します。5回の結果から、中央値と最小・最大を見ます。表示までの時間は、ChromeでLCPとCLSを測る方法、最初のバイトまでの時間はcurlでTTFBを10回測る方法が使えます。サーバーを変える前後の比較は、同じ方法・同じ時間帯で行います。

この記事で確かめていないこと

  • 各社のサーバーを同じ条件で測った結果(筆者は契約していません)
  • h2loadの結果の数値そのもの(ページのテキストには数値が書かれていません。グラフ画像の中身は確認していません)
  • 5回のばらつきの原因(キャッシュ・回線・サーバーの負荷のどれか)

まとめ

  • 「No.1」の注記には、調べた時期・方法・比べた相手が書かれているが、リクエスト数・同時接続数・集計方法は書かれていないことが多い
  • h2loadが測るのはサーバーの処理量で、ブラウザでの表示の速さとは別のもの
  • 筆者のサイトに簡易な負荷を5回かけると、9.3〜44.5回/秒と約4.8倍ばらついた。「5回測った」だけでは結論が変わりうる
  • 広告の数字は、条件を確かめたうえで、自分のサイトで測って判断する

本記事は注記の読み方と測定方法の説明であり、特定のサービスの優劣を示すものではありません。他人のサイトに負荷をかけないでください。