手当たり次第に書くんだ

飽きっぽいのは本能

仮想化

単一 VM の vCPU はどこまで割り当てるべきか

1. はじめに 仮想化環境では、CPU オーバーコミットは一般的に用いられている設計手法です。 一方で、単一の仮想マシン(VM)に対する vCPU 割り当てについては、総量管理とは異なる設計上の配慮が必要になります。 本 […]

VM パフォーマンス Day7: ネットワーク最適化 – SR-IOV / PCI Passthrough

はじめに Day5 では virtio-net を、Day6 では vhost-net / vhost-user による高速化パスを整理しました。ここまでの高速化は virtio アーキテクチャの内部で完結する最適化 で […]

VM パフォーマンス Day6: ネットワーク最適化 – vhost-net / vhost-user

はじめに 前回(Day5)では、virtio-net が仮想 NIC の標準でありながら、パケット処理が QEMU に集中し、ユーザー空間とカーネル空間の往復(context switch)が性能上の大きな壁になることを […]

VM パフォーマンス Day5: ネットワーク最適化 – 仮想 NIC の基礎構造と性能特性

はじめに ネットワークは CPU・メモリ・ストレージのどれとも異なる性質を持ちます。 ストレージほどレイテンシは大きくありませんが、パケット処理は連続的で、CPU 使用率・割り込み・ホスト側ネットワークスタックの全てが絡 […]

io_uring を有効化すると KVM はどれだけ速くなるのか

概要 本記事では、KVM 仮想マシンにおけるディスク I/O パフォーマンスをテーマに、io_uring を有効化した場合と無効化した場合で、どれほど実際の数値に差が出るのかを検証しています。 テストでは、ゲスト OS […]

VM パフォーマンス Day4: ストレージ最適化

はじめに 仮想化環境において、ストレージ I/O は最も遅く、最も複雑で、最もボトルネックが発生しやすいレイヤです。ディスクアクセスは CPU やメモリよりも桁違いにレイテンシが大きく、仮想化レイヤを経由することでその遅 […]

VM パフォーマンス Day3: メモリ最適化

はじめに VM の性能を最適化するうえで、CPU と並んで重要になるのがメモリです。 仮想化環境では、ゲスト OS・ハイパーバイザー・ホスト OS の複数レイヤがメモリ管理に関与するため、物理サーバーよりも複雑な構造にな […]

VM パフォーマンス Day2: CPU 最適化

はじめに VM の性能を向上させるうえで、CPU の最適化は最も効果が大きい領域です。CPU はすべての処理の基盤となるため、ここにボトルネックが残っている状態では、ネットワークやストレージを最適化しても十分な効果が得ら […]

VM パフォーマンス Day1: VM の性能ボトルネックとは何か

はじめに 近年、KVM や VMware、Hyper-V などのハイパーバイザーを利用した仮想化基盤は、開発環境から商用サービスまで幅広く利用されています。しかし、仮想化レイヤが介在する以上、VM は物理サーバーと同等の […]

トップへ戻る