![一般的なインストールと仮想マシン - マルチコアでより良いものは何ですか? [閉鎖]](https://linux33.com/image/65905/%E4%B8%80%E8%88%AC%E7%9A%84%E3%81%AA%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%20-%20%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B3%E3%82%A2%E3%81%A7%E3%82%88%E3%82%8A%E8%89%AF%E3%81%84%E3%82%82%E3%81%AE%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
現在、ハイパースレッディングをサポートする64GBのRAMと8コアの新しいサーバーを購入しています。以下を使用してシステムを構築します。
- nginx。
- Apache。
- mysql.mysql.
- PHP
したがって、問題はパフォーマンスです。コアを最も効率的に使用するには?
単一のオペレーティングシステムをインストールして個々のアプリケーションを調整する方が良いですか、それとも複数の仮想マシンを作成し、各マシンにそのリソース(コアなど)を活用させる方が良いですか?
答え1
仮想マシンを使用することで得られる利点は、パフォーマンス自体の向上ではありません。主なアイデアは、多くの場合、システムを分離したいということです。言い換えれば、あるシステムが別のシステムを妨げることを望まない。プロバイダーはさまざまな顧客のためにデバイスをホストでき、もちろん安全に分離する必要があるため、これはクラウドコンピューティングで重要な役割を果たします。各顧客が自分のシステムを持っているベアメタルアプローチを使用している場合、システムを完全に活用できない可能性があります。単一の物理マシンで複数の仮想マシンをホストすることで、セキュリティ環境を提供するとともに、利用率が向上します。
ただし、仮想マシンをホストするのに固有高い。ソフトウェアは仮想化ハードウェアで非効率的に実行でき、仮想マシンはホストマシンで管理する必要があり、仮想マシン間で冗長性が高くなります。これは補償ではなくパフォーマンスの低下を引き起こします。
お客様の場合、セキュリティや保守上の理由から、各サービスを別々の仮想マシンで実行したい場合があります。いずれかのサービスが破損しても、他のサービスは影響を受けない可能性があります。また、各仮想マシンのスナップショットを簡単に作成でき、メンテナンスなどが簡素化されます。しかし、パフォーマンスの向上については大胆ではありません。
VMの代替はオペレーティングシステムレベルの仮想化たとえば、最近Linuxで人気を集めているコンテナ技術は、ルーストアバウト。複数の完全なオペレーティングシステムを実行することなく、複数の独立したユーザースペースインスタンスを許可することで、パフォーマンスの低下を大幅に削減しながら、仮想マシンの多くの利点を提供します。 Dockerコンテナは展開が簡単で、スナップショットもサポートします。
答え2
もしそうなら、問題はパフォーマンスです。コアを最も効率的に使用するには?
このボックスで他のものが実行されていない場合は、簡単なインストールを行います。しかし、すべてを1つの箱に入れるのは好きではありません。 「ローカル」で実行するのと比較できるものはほとんどありません。 @Benjamin B.が言ったように、Dockerはオーバーヘッドレベルが非常に低い仮想化です。しかし、仮想化する理由がなければ、このような単純な設定では実装しません。少なくとも、プロジェクトに追加の組織オーバーヘッドが追加されます。
単一のオペレーティングシステムを作成し、前述のコンポーネントを効果的に拡張する方が良いですか、それとも複数の仮想マシンを作成し、各マシンにそのコアを活用させる方が良いですか?
なぜこれが良いのですか?コンピュータでUbuntuを実行していて、Ubuntuを使用して仮想マシンをインストールするとします。 Guest-Ubuntuが通常のインストールとは異なる動作をするのはなぜですか?
オペレーティングシステムはリソースを効率的に管理するように構築されているため、簡単なインストールですべてを実行できます。
インスタンス/サービスを簡単に開始して終了したい場合、またはよりきめ細かい分離レベルが必要な場合は、仮想化が興味深いことがあります。
しかし、唯一のボックスなので、簡単にインストールすることができます。
OT:なぜApacheとnginxを使うのですか?