ハードウェア¶
ハードウェアは、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 として分離される
出典:
- Microsoft Learn, Hyper-V Architecture https://learn.microsoft.com/en-us/windows-server/virtualization/hyper-v/architecture
最初の見方¶
- CPU が足りないのか
- メモリ不足でスワップしていないか
- ディスク I/O が詰まっていないか
- ネットワーク帯域やパケット損失がないか
メモ¶
- アプリ遅延は CPU より I/O 起因のことも多い
- スペック表だけでなく、実測値や監視値を見る癖を付けたい
- ハードウェアは詳しく入りすぎると深いので、まずはボトルネックの見方ができれば十分