ホームページ > php教程 > php手册 > PHP を高速化するための LAMP サーバーのパフォーマンス最適化のヒント

PHP を高速化するための LAMP サーバーのパフォーマンス最適化のヒント

WBOY
リリース: 2016-06-21 08:52:29
オリジナル
913 人が閲覧しました

現在、LAMP (Linux + Apache + MySQL + PHP) は近年急速に発展し、Web サーバーのデファクトスタンダードとなっています。この記事では、LAMP の組み合わせに基づくサーバーのパフォーマンス最適化手法、つまり PHP の高速化を紹介します。

Apache サーバーの最適化、PHP の最適化、Mysql の最適化

1. eaccelerator を使用します

上記で Apache サーバーの最適化について説明しましたが、PHP の Web ページを閲覧したことがある方は、次のことに気づいたかもしれません。なぜ PHP の速度が遅いのか? 上記の応答は知られていません。非常に遅いのはなぜですか? これは、PHP プログラム コードが呼び出す関数ライブラリが多すぎるためで、これらの関数ライブラリを呼び出すたびにハード ディスクから読み込む必要があるためです。 PHPの速度は?メモリの速度はハードディスクよりもはるかに速いため、ハードディスク内のこれらの関数ライブラリを最初にキャッシュ (Cache) に読み込むことができれば。もちろんこの場合、速度は大幅に向上します。

2. ソフトウェアのダウンロードとインストール:

wget http://internap.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.3.tar.bz2

tar jxf eaccelerator-0.9.3.tar.bz2

/usr/local/bin/phpize

./configure --enable-eaccelerator=shared --with-php-config=/usr/local/bin/php-config

メイク;メイクインストール

/etc/php.ini ファイルを変更し、次の内容を追加します:

拡張子="/PATH/TO/eaccelerator.so"

eaccelerator.shm_size="16"

eaccelerator.cache_dir="/tmp/eaccelerator"

eaccelerator.enable="1"

eaccelerator.optimizer="1"

eaccelerator.check_mtime="1"

eaccelerator.debug="0"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="0"

eaccelerator.shm_prune_period="0"

eaccelerator.shm_only="0"

eaccelerator.compress="1"

eaccelerator.compress_level="9"

次に、クイック アクセス データ ディレクトリを作成します:

mkdir /tmp/eAccelerator

chmod 0777 /tmp/eAccelerator

Apache サーバーを再起動します:

/etc/rc.d/init.d/httpd 再起動

Lynx ブラウザで Web ページを開き、phpinfo() で図 7 を確認します。これは、インストールが成功したことを意味します。

図 7 eAccelerator が有効になっている

画像からわかるように、eAccelerator が有効になっています。以下の ab コマンドを使用します。 Apache HTTP サーバー パフォーマンス テスト ツールは、Apache http サーバーをテストするためのツールです。このツールを使用して、単位時間内に Apache に送信されるリクエストの数を指定して、Apache とマシンのパフォーマンスを確認できます。一緒に働きます。コマンドは次のとおりです:

/home/apache/bin/ab -c 20 -n100 –w http://localhost/phpinfo >1.html

-c: 同時にサーバーに送信されるリクエストの数。デフォルトでは、一度に 1 つの http リクエストのみが実行されます。

-n: テストセッション実行時に発行されたリクエストの数。

-w: 出力結果を HTML テーブルに出力します。デフォルトのテーブルは 2 列、n 行で、背景が白、枠が黒です。

ApacheBench のテスト データの 1 秒あたりのリクエスト数 (以下、rps) は、1 秒あたりにサーバーによって返されるページ数を指します。比較すると、eAccelerator を使用した後、Web ページの速度が大幅に高速化されます。図8 lynxブラウザのHTML形式テスト結果。

図8 HTML形式のテスト結果

3. Zend Optimizer を使用する

Zend Optimizer はコード最適化メソッドを使用して、PHP 4.0 アプリケーションの実行速度を向上させます。実装の原則は、ランタイム コンパイラ (Run-Time Compiler) によって生成されたコードを、最終的に実行される前に最適化することです。一般に、Zend Optimizer を使用する PHP プログラムは、使用しないプログラムより 40% ~ 100% 高速になります。これは、Web サイト訪問者が Web をより速く閲覧し、より多くのことを達成し、顧客満足度を向上できることを意味します。応答の高速化は、ハードウェアへの投資を節約し、Web サイトが提供するサービスを強化することも意味します。したがって、Zend Optimizer を使用することは、電子商取引の収益性を向上させることに相当します。 Zend Optimizer は、PHP ユーザー、特に Web サイトを運営するユーザーに多くのメリットをもたらします。 PHP プログラムを迅速に実行すると、サーバーの CPU 負荷が大幅に軽減され、応答時間 (訪問者がリンクをクリックしてからサーバーがページの読み取りを開始するまでの時間) を半分に短縮できます。

Zend Optimizer のインストールは確実です。インストール ウィザードは、エンジンの起動を支援するために、選択に従って php.ini を自動的に変更します。

ソフトウェアのダウンロードとインストール:

wget http://downloads.z​​end.com/optimizer/3.0.0/ZendOptimizer-3.0.0-linux-glibc21-i386.tar.gz

gunzip ZendOptimizer-3.0.0-linux-glibc21-i386.tar.gz

tar vxf ZendOptimizer-3.0.0-linux-glibc21-i386.tar

cd ZendOptimizer-3.0.0-linux-glibc21-i386

./install

図 9 Zend Optimizer インストール ウィザード

Apache サーバーを再起動します:

/etc/rc.d/init.d/httpd 再起動

Web ページを開いて phpinfo() を介して画像を表示します。これは、Zend Optimizer が正常にインストールされていることを意味します。

図 10 Zend Optimizer が正常にインストールされた

その後、ab コマンドを使用して再度テストできます。 Siege (http://www.joedog.org/siege/) をテストに使用することもできます。これは、アプリケーションのストレス耐性を評価するために WEB 開発用に設計されたストレス テストおよび評価ツールです。Web に合わせて構成できます。サイトは複数のユーザーによる同時アクセスを実行し、各ユーザーのすべてのリクエスト処理の対応時間を記録し、一定の同時アクセス数の下でそれを繰り返します。



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート