手当たり次第に書くんだ

飽きっぽいのは本能

仮想化

CPU ピニングを外すと何が変わるのか – 専有実行から共有実行へ戻す意味

CPU pinning を外すことは、単なる設定変更ではなく、VM の実行資源を専有に近い状態から共有実行へ戻す設計変更です。NFV や低遅延 workload では、平均性能だけでなく jitter、待ち時間、性能保証の意味が変わります。

単一 VM の vCPU はどこまで割り当てるべきか – 物理コア数 / NUMA / オーバーコミットで考える

単一 VM に vCPU を多く割り当てれば必ず速くなるわけではありません。物理コア数、SMT、NUMA、CPU pinning、overcommit、他 VM との競合を分けて、vCPU sizing の考え方を整理します。

DPDK で VM ネットワークを高速化する考え方 – dataplane / NFV / kernel bypass を見る

DPDK は VM を単純に速くする魔法ではなく、Linux kernel の通常ネットワーク処理を迂回して dataplane を userspace 側に寄せる設計です。vhost-net、vhost-user、SR-IOV、PCI Passthrough との違いを、NFV や高 pps ワークロードの観点で整理します。

SR-IOV / PCI Passthrough で VM ネットワークを高速化する考え方 – 仮想化レイヤを迂回する設計

SR-IOV と PCI Passthrough は、VM のネットワーク I/O を高速化する強力な方式ですが、仮想スイッチや hypervisor の抽象化を迂回するため、共有性、移動性、運用性とのトレードオフが生じます。DPDK や vhost-user との違いも含めて整理します。

vhost-net / vhost-user で VM ネットワークを高速化する考え方 – virtio と kernel bypass の違い

VM ネットワーク性能を考えるうえで、virtio-net、vhost-net、vhost-user は混同しやすい要素です。vhost-net は kernel 側へ処理を寄せ、vhost-user は userspace dataplane へ接続する方式として、DPDK や OVS-DPDK との関係を整理します。

VM ネットワーク I/O を理解する考え方 – virtio-net と仮想 NIC の性能を見る

VM のネットワーク I/O は、virtio-net、virtqueue、QEMU、tap、bridge、multiqueue、CPU 配置の組み合わせで決まります。vhost-net / vhost-user / SR-IOV / DPDK へ進む前に、標準的な仮想 NIC の性能特性を整理します。

KVM の io_uring はどれだけ効くのか – QEMU ストレージ I/O の検証

KVM / QEMU のストレージ I/O では、ゲスト OS 側のアプリケーションだけでなく、ホスト側の QEMU がどの I/O backend を使うかも性能に影響します。 この記事では、ゲスト OS 側の fio […]

VM ストレージ I/O を最適化する考え方 – virtio / raw / qcow2 / io_uring を見る

VM のストレージ I/O は、仮想ディスク形式、virtio-blk / virtio-scsi、cache mode、discard、io_uring、backend storage の組み合わせで決まります。raw と qcow2 を単純比較せず、用途ごとの選択として整理します。

HugePages / TLB / NUMA で VM メモリ性能を安定させる考え方

VM のメモリ性能は容量だけでは判断できません。HugePages、TLB、NUMA、Transparent HugePages、ballooning、KSM を分けて見ながら、CPU pinning や I/O 最適化とつながるメモリ配置の考え方を整理します。

CPU / NUMA / pinning で VM パフォーマンスを安定させる考え方

VM の性能は vCPU 数だけでは決まりません。pCPU、NUMA node、CPU pinning、HugePages、emulatorpin、IRQ、PCIe / NIC 配置を合わせて見ることで、VM の実行場所と I/O 経路を安定させる考え方を整理します。

トップへ戻る