私はmagentoで開発されたeコマースウェブサイトを運営しています。サーバー上に512MBのRAMと2.6のcore2duoがあります。ウェブサイトで一度に50件のリクエストを送信すると、いくつかのリクエストを除いて応答しません。ニスも取り付けました。自分のウェブサイトに最適な設定を知りたい。PHP-FPMがメモリとCPUの使用量を増やしすぎているのを見てきました。
2 に答える
バックグラウンド
本番マシン(VCenter仮想マシン、4コア、8 GB RAM)のubuntu12でnginxとphp5-fpmを使用します。私たちのmagentoのインストールは、テーマが大きく拡張されています。先日、キックのために、Magento 1.12 EEのデフォルトインストールでVMWareボックスにすべてを最初からインストールしました(バグについてそれらを呼び出す必要がありました)。これを言うだけで、本番環境にnginxとphp5-fpmがあることがわかります。
あなたが求めているのは、誰もがnginxとphpfpmの使用に苦労していると思うことです...それからより多くのパフォーマンスを絞り出します。つまり、サイトのパフォーマンスを正しく向上させようとしなかった場合は、apacheとphpを使用できますか?回答、意見、ケースベースのソリューションはたくさんありますが、システムの構成に使用したガイドを紹介します...
ブログのコメントから引用:
...しかし、問題はサーバーの構成ではなく、実際にMagentoにあります。Magentoは大きすぎて、どの環境にも重すぎます。Magentoのホスティングは本当に退屈で不快な作業です。
それはあなたが持っているすべての質問に答えるわけではないかもしれませんが、あなたが確実にやるべきことはたくさんあります...worker_processes=あなたが持っているコアの数などを設定するようなものです。
個人的に私がまだ問題を抱えているのは、サーバーの負荷が非常に高くなると(1秒あたり5〜10ヒットを超える)、プロセッサがハンマーで打たれることです。私は問題を完全に突き止めていませんが、コアを追加してラムをぶつけると大きなへこみができました。RAMをさらに増やす可能性がありますが、現時点では、ユーザーベースでサイトのパフォーマンスの問題は発生していません。
(別のサイトのブログ投稿から見つかりました:)
Magentoは、その操作の多くでディスクサブシステムを多用しています。ディスクI/Oは、CPU(コア)に次ぐ最大のボトルネックであり、Magentoのパフォーマンスを最適化します。
これが、ストレージが無数の他のユーザーと共有されているSAN上にあり、ランダムな時間にストレスがかかって一貫性のないパフォーマンスが発生するクラウド環境では、Magentoのパフォーマンスが非常に低い理由です。
RAID1 + 0ディスクアレイで構成されたSSD(ソリッドステートドライブ)は、同じRAID構成の15.5KSASドライブよりもローカルで優れています。
ローカルデータベースは、Magentoで最高のパフォーマンスを発揮するための鍵でもあります
リモートデータベースは、システムコールとネットワークの飽和による遅延をもたらします。リモートデータベースを使用する必要がある場合は、プライベートVLAN上にあり、最大のホスティングプロバイダーでも一般的な過飽和ネットワーク接続を共有していないことを確認する必要があります。最良のネットワーク環境では、さまざまな理由から、リモートデータベースはローカルデータベースほど高速ではありません。
CPU速度とCPUの数も、Magentoの最適なパフォーマンスにとって非常に重要です。次のURLで、使用しているハイエンドCPUの能力を知ることができます。CPUがここにリストされていない場合、ベンチマーク「PassMarkSoftware」では「ハイエンド」とは見なされません。
http://www.cpubenchmark.net/high_end_cpus.html
LiteSpeedなどのパフォーマンスベースのWebサーバーは、MySQLサーバーと同様に、適切な構成で複数のCPU(コア)を利用します。パフォーマンスベースのWebサーバーを使用すると、ApacheWebサーバーソフトウェアに対するアプリケーションのパフォーマンスを大幅に向上させることができます。
Magentoを書き直したり、変換/コンパイルしたりすることは解決策ではありません。せいぜいバンドエイドです。今後のアップグレードはロックアウトされ(変更を書き直してテストするための開発にかなりの時間がかかることはありません)、アップグレードするたびに速度が向上し続けます。Magentoへのコア変更は絶対に実行しないでください。Magentoへのコア変更は絶対に実行しないでください。これにより、Magentoが採用しているOOPモデルが無効になります。
結局、前に述べたように、Magentoは、アプリケーションが実行されるインフラストラクチャに多額の投資をしなければ、最適なパフォーマンスを達成できません。Magentoの実行を検討していて、予算のホスティングプロバイダーで実行したい場合は、このアプリケーションで最高のパフォーマンスを達成できないこと、および達成できないことを理解してください。
Magentoは複雑な性質のため、リソースを必要とします。このタイプのハードウェアシステムのコストは安価ではないため、予算のホスティングプロバイダーに必要なリソースを提供することはできません。
nginx +php-fpmとvarnishrunはシステムのメモリよりも多くを使用するため、メモリを512m以上増やす必要があります。私はオーバーフローを実行し、phpプロセスは実行するのに十分なRAMを実行できません