新しいMagentoWebサイトを立ち上げようとしていますが、この問題に関するフィードバックに興味がありましたか? Magento PHPコードが遅い、またはMagento MySQLの操作が遅いと思いますか?2つのサーバーの大きなボックスに分割する必要がありますか?
私たちの経験:Magentoストアのみをホストしています。
悲しいことに、Magentoでは、別のDBサーバーを使用する必要がある、さらに悪いことに、最も強力なサーバーをDBサーバーとして使用する必要があるという誤解が非常によくあります。
複数のWebサーバーを使用するクラスター構成でない限り、決して Magento用に別のデータベースサーバーを使用することを推奨します。
いくつかのサーバーからの最新の統計でこれをバックアップします。
小さなMagentoWebサイト(1日あたり4,000のユニークビジター)から負荷平均を取得しました。個別のDBサーバーが一般的にCPUとリソースをほとんど使用していないことがわかります。実際、必要なのは大量のRAMだけです。
MySQLは絶対にnot Magentoインストールのボトルネックです。ただし、2台のサーバーを使用する必要がある場合は...
...あなたのサイトの1日あたりのユニークビジター数が約10,000人であることに基づいて、この推奨事項を提供します。しかし、正確な返信を得るには、実際に投稿する必要があります。
Webサーバーの場合
DBサーバーの場合
2つのサーバー間のWebトラフィック間の負荷分散も可能ですが、この構成はこの応答の範囲をはるかに超えています。
データベースサーバーの負荷
Webサーバーの負荷
特定のプロセスを実行するためにphpmemory_limitを最大512MBまでバウンスする必要があったので、ロードされた各Apacheプロセスが本質的にメモリをバグアウトするのを見てきました。 Apache Webサービスをphpインタープリターに変えると、mod_php5をすぐに削除する方法を学びますISリソースの最適な使用法ではありません。FastCGIでは、Apache WorkerMPMを実行して、それを提供するhtmlに戻します。 FastCGIがPHPインタープリターを別個のプロセスとして実行している間、最適です。これに加えて、何らかのopcodeキャッシングが必要になります。メモリとCPUの使用に最適化された主要な最速サーバーはWeb /である必要がありますPHPサーバー。高速ディスクI/O用に最適化されたセカンダリサーバーは、MySQLサービスを実行する場所です。
2つのサーバーシステムでは、Webサーバー用に12GB以上のメモリを備えたクアッドコアシステムと、dbサーバー用に8GB以上の高速ディスクサブシステムを備えた2コアシステムを実行するのが一般的です。
データベースをより大きなサーバーに配置することをお勧めします。重要なサイト(複数のサーバーが必要)がある場合は、データベースに多くの負荷をかけ、クエリを実行することになります。そして確かに、その負荷はphpファイルの解析よりも大きなボトルネックになるでしょう。
通常、データベースをより大きく、より強力なサーバーに配置する方が良いと思います。
その理由は、ダウンタイムなしでアプリケーションを別のサーバーに移動する方がはるかに簡単だからです。アプリケーション自体をスケールアウトする方がはるかに簡単で効果的です。 2つのアプリケーションサーバーの負荷分散が適切に行われると、ほぼ2倍になりますが、データベースではそのような値を取得することはなく、レプリケーションやシャーディングを実行する必要があります。これは、httpロードバランサーの構成よりもはるかに困難です。
したがって、アプリケーションが拡大する場合は、現在余裕のある最高のデータベースサーバーを使用してください。これにより、データベースの移動/スケールアウトが必要になるまでの時間が長くなり、アプリケーション/ httpサーバーの移動/スケールアウトよりも困難になります。