コンテンツにスキップ

ハードウェア

ハードウェアは、OS やミドルウェアより下で実際に性能や制約を決める土台。

クラウド時代でも、CPU、メモリ、ディスク、NIC の特性を知らないとボトルネックの見方を誤りやすい。

まず押さえたいこと

  • CPU、メモリ、ストレージ、NIC が主要要素
  • 性能問題はソフトではなくハード制約が原因のことも多い
  • 仮想化やクラウドでも、下にあるハード特性の影響は残る
  • 何がボトルネックかを切り分けられることが重要

よく出るテーマ

  • CPU コア数 / クロック / 負荷
  • メモリ容量 / スワップ
  • ディスク IOPS / スループット / レイテンシ
  • NIC 帯域
  • 仮想化支援機構

Hypervisor の簡易図

以下は Microsoft Learn の Hyper-V Architecture をもとにした簡易図。

+----------------------------------+
| Child Partition / VM 1           |
| Guest OS + Application           |
+----------------------------------+
| Child Partition / VM 2           |
| Guest OS + Application           |
+----------------------------------+
| Root Partition                   |
| Management / Device access       |
+----------------------------------+
| Hypervisor                       |
+----------------------------------+
| Physical Hardware                |
+----------------------------------+

メモ:

  • Hypervisor が物理資源を仮想化する
  • Root Partition が管理やデバイスアクセスを担う
  • 各 VM は Child Partition として分離される

出典:

最初の見方

  • CPU が足りないのか
  • メモリ不足でスワップしていないか
  • ディスク I/O が詰まっていないか
  • ネットワーク帯域やパケット損失がないか

メモ

  • アプリ遅延は CPU より I/O 起因のことも多い
  • スペック表だけでなく、実測値や監視値を見る癖を付けたい
  • ハードウェアは詳しく入りすぎると深いので、まずはボトルネックの見方ができれば十分