現在、apacheとmysqlの両方を実行しているEC2があります。mysqlを別のEC2インスタンスに移動すると、サイトのパフォーマンスが向上するのか、低下するのか疑問に思います。2つのインスタンス間のネットワーク速度の問題についてもっと心配しています。
2 に答える
同じアベイラビリティーゾーン内のEC2インスタンスは、10,000 Mbpsネットワークを介して接続されます。これは、SATA-3インターフェイス(6Gb / s)の優れたソリッドステートドライブよりも高速です。
データベースを別のサーバーに移動してもパフォーマンスが低下することはありません。実際、2つのサーバーに別々のメモリとCPUコアがあるため、パフォーマンスが向上する可能性があります。
ネットワーク遅延が心配な場合は、それを忘れてください。同じアベイラビリティーゾーンにあるAWSでは問題ありません。
もう1つの考慮事項は、おそらくWebサイトとdbファイルをEBSにマウントされたボリュームに保存しているということです。そのEBSブロックはインスタンス外に保存されるため、実際には同じ超高速10Gbpsネットワークにストレージアレイを保存しています。
つまり、私が言っているのは... EBSを使用すると、Webサイトとデータベースはすでにネットワークを介してデータを取得するために通信しているため、それらを別々のインスタンスに配置しても、両方のサーバーにより多くのリソースを提供する以外に、その点では何も変わりません。リソースが増えると、メモリにローカルに保存されるデータが増え、パフォーマンスが向上します。
答えは、ApacheとMySQLが使用しているリソースに大きく依存します。Webサイトへの要求が低く、それぞれが仮想メモリにシェルアウトしないように十分なメモリで構成されている場合、それらは幸せに共存できます。この場合、それらは一緒に保持するのが最適です。
トラフィックが増加するか、アプリケーションが増加すると、両方を専用メモリ内で実行できるため、トラフィックを分割することでメリットが得られます。インスタンスが同じリージョンにある場合、インスタンス間で高速なパフォーマンスが見られるはずです。私はヨーロッパで米国のDBを使用してWebアプリケーションを実行したこともありますが、パフォーマンスはそれほど悪くありませんでした。私はそれをお勧めしません!
AWSは簡単で安価なので、セットアップしてベンチマークするのが最善の策です。