仮想化
vCPUとは?
A vCPU is a virtual processor presented to a guest, backed by scheduling time on a physical core or thread. The decisive question is whether the backing thread is shared with other tenants or reserved. A dedicated vCPU has no other tenant scheduled against it; a shared one competes, producing steal time.
vCPUが重要な理由
決定的な問題は、バッキングスレッドが他のテナントと共有されているか、予約されているかです。専用のvCPUには、他のテナントがスケジュールされません。共有のものは競合し、スチールタイムを生成します。
実践でのvCPU
サーバーを実行する場合、vCPUはワークロードが実際に消費するものです。まずスチールタイムを確認します。それが一貫して数パーセントを超える場合、vCPUは共有されており、他のテナントがサイクルを消費しています。レイテンシを修正するためにvCPU数を増やすかもしれませんが、問題がコアではなく競合であるかどうかを確認してください。間違えると、あなたのものではないスケジューリング時間に対して支払うことになり、アプリケーションは説明できない停止に悩まされます。
vCPUについて人々が誤解していること
一般的なエラーは、vCPUを保証された速度の物理コアとして扱うことです。KVM環境では、各vCPUはホストスレッドによってサポートされ、共有ホストではそのスレッドが競合します。人々はvCPUが多いほど常に役立つと想定しますが、バッキングスレッドが競合している場合、スチールタイムが発生します。修正:vCPU数をスケーリングする前にスチールタイムを確認してください。
vCPU — よくある質問
vCPUはいくつ必要ですか?
ワークロードによります。忙しいWebサーバーの場合は、2つから始めてCPUスチールタイムを監視してください。スチールが低いままでまだ制限されている場合は、vCPUを追加してください。当社のKVMプランでは、短い再起動でCPUとRAMを増やせるため、再構築なしで調整できます。
後でvCPU数を変更できますか?
是的,在您现有的服务器上,可以通过短暂重启增加CPU,磁盘可以在线扩容。降级则需要重建而非实时迁移,所以最好从小规模开始,然后逐步升级。
vCPUが登場する箇所
- CPUスチールタイムとは何か、なぜ重要なのか? スチールタイムとは、仮想CPUが実行可能な状態でも、ハイパーバイザーが物理コアを他のユーザーに割り当てた時間の割合です。topの"st"列に表示されます。2〜3%を超えると、コアを競合していることを意味し、共有vCPUインスタンスで説明できないレイテンシスパイクの一般的な原因です。…
- VPSの費用はいくらですか? 利用可能なVPSは、1 vCPU、1 GB RAM、20 GB NVMeストレージで月額約4ドルから始まります。専用コア、8 GB RAM、160 GBストレージを備えた本番インスタンスは、月額約34ドルです。数テラバイトのストレージを備えたストレージ重視のプランは、約22ドルからです。より長い請求期間では、…
- 実際に使える最も安いVPSは何ですか? 月額約4ドルで、本物のKVM仮想化上で1 vCPU、1 GB RAM、20 GB NVMeを購入できます。これは、WireGuard VPN、DNSリゾルバー、Torリレー、小さなボット、静的サイトに十分な容量です。この価格以下では、仮想マシンではなく過剰販売されたコンテナを購入している可能性が高いです。…
- 初心者に最適なVPS構成は何ですか? 2 vCPU、4 GBのRAM、そしてあなたに最も近いリージョンのUbuntu 24.04 LTSから始めてください。Ubuntuには最大のチュートリアル群があり、学習中は仕様よりも重要です。実験の前に必ずスナップショットを取得してください。壊れたサーバーを2分のロールバックに変えます。…
- VPSでどれくらいの訪問者を処理できますか? 適切に設定された2vCPU/4GBインスタンスは、静的サイトなら月間数百万アクセス、キャッシュされたWordPressサイトなら約30万アクセス、キャッシュなしの動的アプリケーションなら約3万アクセスを処理します。支配的な変数はキャッシュであり、ハードウェアではありません。同じインスタンスでもキャッシュ次第で…
- 共有vCPUと専用vCPUの違いは何ですか? 共有vCPUは他のテナントに対してスケジュールされるため、競合が発生するとプロセスは待機し、steal timeとして表示されます。専用vCPUは、他に何もスケジュールされていない物理スレッドがお客様専用に予約されます。共有はほとんどの時間アイドル状態のワークロードに適しており、専用はレイテンシー要件のあるも…
仮想化の詳細
- KVM
- KVMはLinuxカーネルに組み込まれたフルハードウェア仮想化であり、各ゲストに独自のカーネルと、他のテナントからのハードウェア強制分離を提供します。
- OpenVZ
- OpenVZはコンテナベースの仮想化であり、すべてのインスタンスがホストカーネルを共有するため、ゲストはカーネルモジュールをロードしたり、異なるオペレーティングシステムを実行したりできません。
- LXC
- LXCはLinuxネイティブのコンテナ化であり、ホストカーネルを共有しながら、名前空間とcgroupsでプロセスを分離します。
- ハイパーバイザー
- ハイパーバイザーとは、仮想マシンを作成・実行し、物理CPU、メモリ、I/Oを割り当てるソフトウェアレイヤーです。
- 嵌套虚拟化
- ネスト仮想化により、仮想マシン自体が仮想マシンを実行できるようになり、プロセッサの仮想化拡張機能がゲストに公開されます。
- cloud-init
- cloud-initは、プラットフォームが提供するメタデータを使用して、仮想マシンを初回起動時に構成するための標準的なメカニズムです。