web-dev-qa-db-ja.com

PHP Webサーバーの最速オプション

たくさんのリクエストを処理するPHPアプリを提供する必要があります。Apache以外のものを使用することに実際のメリットがあるかどうか、および代替手段の長所と短所は何かを知りたいです。

Railsアプリケーションにlighttpdとnginxを使用した経験があります。これらは、PHPも良い候補ですか?重要なセットアップのトリックはありますか?

PHPアクセラレーター、これらの代替サーバーで使用できますか?それは良い考えですか?

私はOpenSolarisボックスを使用しています。

関連するかどうかはわかりませんが、後で、このサーバーの前にVarnishプロキシ/キャッシュを配置する予定です。

編集:

私はアプリに触れるつもりはまったくないことを付け加えたいと思います。 PHPで有名なのは典型的な混乱であり、基本的に時間はありません。

3
kch

Apacheはmod-phpの優れたベースであり、バイトコードキャッシング用にAPCを追加すると、いくつかの変数キャッシングが非常に役立ちます。実際、これはPHPを高速化するためにできる最も明白なことです。 =スクリプトの実行時(また、Yslowを使用してHTMLフロントエンドを高速化し、データベースが最適化されていることを確認します)。

ただし、Apacheから画像やその他の静的コンテンツを提供しないようにするなど、いくつかの提案を追加します。専用のイメージサーバーを備えた別の(サブ)ドメインがあります(私は thttpd を使用しますが、 nginx も完全に適しています)。ただし、完全に別個のドメイン名(またはCDN)から画像を提供する方がはるかに優れています。

NginXには、インバウンド接続を処理するプロキシとして機能し、結果をスプーンでフィードバックできるという利点もあります。つまり、Apache2/Mod_phpのバックエンドプロデューサープロセスは完全なローカルで動作できます。 -Webブラウザクライアントが追いつくのを待つ必要がなく、ネットワーク速度。

ワニスはNginxが実行できる以上の追加の作業を実行できますが、私はそれをよく知りません-どちらか一方だけが可能かもしれませんが、両方を使用する必要はほとんどありません。

6
Alister Bulman

nginxphp-fpm および xcache と組み合わせると、Apacheソリューションよりも大幅に速度が向上します。

アプリケーションによっては、 memcache などを組み込むと、キャッシュに大きな利点がもたらされる場合があります。

3
Adam Gibbins

Wordpressサイトのため、mod_phpを使用するApacheサーバーのメモリが不足していました。Wordpressを最適化した後、Apacheに移行しました。mod_fastcgiの方がmod_fcgiよりもうまく機能することがわかりました。移動PHPは、Webサーバーのフットプリントを削減しました(プロセスあたり38Mから4Mに)。eAcceleratorsもインストールし、PHPの実行速度が速いことを発見しました。また、ページにたくさんのインクルード(CSSとjavascript)、Wordpress)で行ったトリックの1つは、インクルードを1つのファイルに圧縮し、空白を最小限に抑えることでした(ただし、これはWordpressのアーティファクトのようです) 。

したがって、PHP Apacheから(およびmod_fastcgi [php-cgi]を使用して別のプロセスに)移動することをお勧めします。PHPアクセラレーターに注意してください。 PHPプロセスのメモリ要件が増加します(これは、Apacheプロセスから移動するもう1つの理由です)。

0
Walter