期待のネット新技術

10GbEで性能を出すなら、「PCIe帯域とストレージ性能」がツボ

【10GBASE-T、ついに普及?】(第7回)

 1000BASE-Tの10倍速、という高速な有線LAN規格「10GBASE-T」が、いよいよ身近になりつつある。

 LANカードは既に100ドル以下のモデル2万円台のモデルが登場、ハブについても8ポート8万円の製品が国内で発売済み。10GBASE-T標準搭載のiMac Proも12月に発売されるなど、価格・製品バリエーションの両方で徐々に環境が整ってきた。

 長らく望まれてきた10GBASE-Tの低価格化だが、技術的には1000BASE-Tから変更された点も多く、設定や活用上のノウハウも新たなものが必要になる。そこで、規格の詳細や現状、そしてその活用方法を、大原雄介氏に執筆していただいた。今回のテーマは「10GBASE-T環境におけるPCIe帯域幅とストレージの性能について」。今後、集中連載として、毎週火・木曜日に掲載していく。(編集部)

 そんなわけで、10GBASE-Tはやっと一般のユーザーでも手が届くところにやってきたのだが、では(冒頭の編集長様ではないが)10GBASE-Tのコントローラーとスイッチ、それとケーブルを用意すれば、10倍の転送速度が得られるようになるのか? というと、話はそこまで簡単ではない。実際にやってみると分かるが、1000BASE-Tの5倍程度、実効転送速度にして400~500MB/sec程度までは、比較的容易に達成できる。この程度で満足できるのであれば、これはこれで問題ない。ただ、これを超えて、「1GB/secの転送速度を得たい」と思うと、環境の配慮が必要になる。これを順に説明していきたい。

10GBASE-Tカードの搭載はPCIe Gen2 x4スロットが最低限

 10GBASE-Tカードは、送受信の速度がそれぞれ10Gbpsづつとなる。PCとは当然PCI Expressでの接続となるが、PCIeの1レーンあたりの帯域は以下の表の通りだ。

PCIe世代帯域幅実行速度
PCIe Gen12.5GT/sec2Gbps
PCIe Gen25GT/sec4Gbps
PCIe Gen38GT/sec8Gbps

 10GbpsのためにはGen 3だと2レーン、Gen 2だと4レーンが必要となる(さすがにGen1のみサポートの10GBASE-Tカードは、もう新品では存在しない)。これもあって、StarTech.comの「ST10000SPEX」もASUSTeKの「XG-C100C」も、PCIe Gen2 x4のカードとなっている。ということで、まずはこれを装着しないといけないわけだが、これが結構難しい。

 例えばローエンドPCの場合、ビデオカード用のPCIe x16スロットのほかは、ときどきPCIe x4スロットが用意されている製品があるものの、ほとんどはPCIe x1スロットとなる。10GBASE-TカードをPCIe x16スロットに装着すれば問題はないものの、こうなるとビデオカードは装着できなくなる。また、PCIe x4スロットがあっても、「コネクタはx4相当だが信号はx1相当」ということが往々にしてあり得る。この場合、速度は250MB/sec止まりになってしまう。

 ちなみに、ゲーミングPCなどでは、PCIe x16スロットが3本以上存在するものもある。ただ、これらの場合、内部的には1つ目と2つ目のスロットはx8、3つ目以降はx1なんてケースも珍しくない。このあたり、ちゃんと3つ目以降にもx4以上の信号が来ているのは、IntelならX58/X99/X299、AMDならX399といったハイエンドチップセットを搭載したマザーボードに限られる。当然高価だし、組み合わせるCPUの価格も跳ね上がる。

10GbEで性能を出すなら、「PCIe帯域とストレージ性能」がツボ Intel B250チップセットを搭載したASUSTeK「EX-B250-V7」。PCIe x16形状のスロットを3本装備するが、うち2本はGen 3 x4での接続となる(AKIBA PC Hotline!より転載)
Intel B250チップセットを搭載したASUSTeK「EX-B250-V7」。PCIe x16形状のスロットを3本装備するが、うち2本はGen 3 x4での接続となる(AKIBA PC Hotline!より転載)

 サーバー向けシステムでは、このあたりがきちんとしていることが多いが、格安サーバーの場合、中身は低価格デスクトップとまるっきり一緒なんてことも珍しくない。「サーバーだから大丈夫」と盲信せずに、きちんとPCIe Gen2 x4スロットが存在し、かつ信号線もx4相当であることを、仕様などで確認する必要がある。

できればNVMe SSDでのRAID構築を推奨

 もちろんネットワークとストレージは直接関係があるわけではないが、実際の使い方としては「NAS上のファイルの読み込みを高速化したい」「ローカルにあるデータをNASに高速に格納したい」といった用途が一番多いと思われる。なので、実際にはストレージの性能も相応に高速化しないと、せっかく10GBASE-Tを導入しても、あまりありがたみがない。

 さて、HDDの転送性能は、未だに100MB/sec前後である。もちろんプラッタの最外周ならもう少し早いが、平均すると100MB/sec前後に収まってしまう。筆者のようにRAID 1を構築していると、HDD同期のオーバーヘッドもあるので、最大でも80MB/sec程度に留まってしまう。RAIDコントローラーを導入したり、ソフトウェアRAIDでRAID 5やRAID 6を構築したとしても、普通は200MB/sec台、環境によって300MB/sec行くかどうかというあたりである。それでも2~300MB/secであれば、既に1000BASE-Tの帯域は越えているので、10GBASE-Tを導入する意味はある。

 しかし、本当に高速さを「体感」したいのであれば、最低でもSATA SSDでのRAID、できればNVMe SSDでRAIDを構築したいところだ。例えば、こんな具合に、昨今のNVMe SSDを利用したRAIDでは、10GB/sec近い帯域が利用できるところまで来ている。さすがにこれをネットワーク越しに、というのはあまりに無茶ではあるが、10GBASE-Tを使えば1.2GB/sec程度のピーク帯域が得られる計算になる。人間の感覚量は対数変換される(ヴェーバー・フェヒナーの法則)ので、現実問題として一桁早くならないと、あまり高速化された、という実感が沸かない。

10GbEで性能を出すなら、「PCIe帯域とストレージ性能」がツボ 4基のNVMe対応M.2スロットを搭載する米HighPoint TechnologiesのSSD RAIDカード「SSD7101A-1」
4基のNVMe対応M.2スロットを搭載する米HighPoint TechnologiesのSSD RAIDカード「SSD7101A-1」

 ただ、当たり前であるが、これはコストや寿命との兼ね合いである。SATA SSDあるいはNVMe SSDは非常に高速だが、その分容量単価はHDDよりまだ1けた高い。例えば、AKIBA PC Hotlineの10月の相場月報だと、960~1050GBのSSDの平均単価が3万3156円である一方、HDDの単価は10TBでも平均4万1232円で、容量単価はTBあたり約4100円。一番割安な4TBでも平均9874円で、TBあたりの容量単価は2468円だ。NASを構築するからには、大容量のストレージを用意したい場合が多いだろうが、高速にアクセスしようとすると、ストレージのコストが10倍に跳ね上がる計算になる。

 おまけに、HDDに比べるとSSDの寿命は短い。もちろん使い方次第ではあって、煩雑に書き込みしなければ結構持つ場合もあるが、そうは言ってもMLC/TLC NANDなので、あまり安心もできない。RAID 0は非常に危険なのでRAID 5なり6なりを構築して冗長度を上げるとともに、リペア用のSSDをいくつか手元に置いておく程度の配慮は当然必要だし、これはさらにコストを上げる方向に作用する。

 実はネットワークを10GBASE-Tに変えても、「性能が上がった気がしない」一番の要因がこのストレージの遅さである。ここに手を付けずにネットワークだけ高速化しても、満足度は非常に低いだろう。

 今回は、10GBASE-Tの普及までの状況について解説しました。次回11月9日更新分では、実用編として、10GBASE-T/1000BASE-T混在環境における問題点について解説します。

大原 雄介

フリーのテクニカルライター。CPUやメモリ、チップセットから通信関係、OS、データベース、医療関係まで得意分野は多岐に渡る。ホームページはhttp://www.yusuke-ohara.com/