web-dev-qa-db-ja.com

動的コンテンツに関しては、nginxはApacheよりも優れていますか?

重複の可能性:
ApacheまたはNGINX for PHP?

こんにちは、

私はこれをウェブで検索しましたが、私の質問に対する正しい答えが見つかりません。

基本的に、Apache(phpアプリ)よりもnginxの方がパフォーマンスが向上するかどうかを知りたいのですが、静的コンテンツは使用していません(nginxの方が優れていることがわかっています)。

これらのサイトは、多くの変数を持つスクリプトの幅広いコレクションであり、古いnot OOP指向のコードと、クラスとスマートを使用した新しいWebサイトを使用しています。サイトは非常に動的で、リクエストごとにパーツを変更します。

静的コンテンツにはnginxを、phpにはApacheを訴えたくないので、パフォーマンスの観点から移行する価値があるかどうかを尋ねています。

私の主な混乱は、wordpressとwp-supercacheプラグインを使用したベンチマークを見たところです。これにより、すでに説明した機能を備えたカスタムサイトよりもnginxの方が優れている可能性があります。他のベンチマークを見たことがあります。それらの間に大きな違いを示さないだけです(約5%)

助けてくれてありがとう:D

よろしく、シャドウ。

2
shadow_of__soul

「パフォーマンス」とはどういう意味ですか?それは非常にビジーなサーバーでの最大スループットを意味しますか、それとも個々のページの高速ページロードを意味しますか?

Apacheが制限要因になることはめったにありません(設定によってはパフォーマンスが向上する場合があります)。通常、実際の負荷はphpまたはmysqlにあり、その後、通常、不適切に構築されたクエリまたは役に立たない作業が発生します。

Apache 1および2と比較してnginxが優れているのは、多くの同時接続(アイドルまたはビジー)の処理です。また、他のWebサーバーでは利用できないサーバーパラダイムを可能にします。 PHP/MySQLのパフォーマンスを魔法のように改善することはありません。

ストップギャップ対策は、おそらくnginxよりも時間の価値があります。phpオペコードキャッシャー(apc)とmysqlクエリキャッシュです。それ以外は、コードのプロファイリングと修正を開始します。

ページの読み込みを高速化するには、サイトの動作方法を変更することで最大のメリットが得られます。たとえば、yahooパフォーマンスブログを参照してください。

1
Joris

PHPのアプリケーションの幅広さ、およびその他のWebサービススクリプト言語を考慮すると、各Webサイトは非常に異なる動作をする可能性があります。 2つの異なるサーバーを作成し、それらの統計を比較して自分で使用することを強くお勧めします。ウェブサイトが異なれば、技術の用途も異なる可能性があります。

0
bobby