ホームページ > バックエンド開発 > PHPチュートリアル > PHP 7.0 のインストール、使用状況、パフォーマンスの監視!

PHP 7.0 のインストール、使用状況、パフォーマンスの監視!

WBOY
リリース: 2016-06-23 13:20:17
オリジナル
923 人が閲覧しました

PHP 7.0 がリリースされました。7.0 の正式リリース前に、いくつかのベータ版と 8 つの RC がリリースされているため、大きな問題はないと考えられます。今日、マシンを PHP 7.0 にアップグレードし、次のような関連情報を記録しました。

私は Ubuntu 12.04 LTS を使用しており、7.0 正式バージョンの ppa をオンラインで見つけたので、コンパイルする必要はありません。次のコマンドを使用して直接インストールできます。

拡張機能を備えた PHP7.0 をインストールします

sudo add-apt-repository ppa:ondrej/php-7.0 sudo apt-get update sudo apt-get install php7.0-fpm php7.0-cli php7.0-common php7。 0-json php7.0-mysql php7.0-opcache php7.0-curl Memcached および Redis 拡張機能は pecl で PHP7 をサポートする最新バージョンをリリースしていないため、手動でコンパイルおよびインストールするには Github で PHP7 ブランチを見つける必要があります。

redisとmemcachedのgithubアドレスは以下の通りです

https://github.com/phpredis/phpredis/ https://github.com/rlerdorf/php-memcached

Redisのインストール方法

git clone https: //github .com/phpredis/phpredis/ cd phpredis
git checkout phpize
./configure make
インストール方法

Memcached は、通常にコンパイルされる前に、libmemecached ライブラリをダウンロードする必要があります。

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz tar -zxvf libmemcached-1.0.18.tar.gz
libmemcached-1.0.18
make
sudo apt-get install pkg-config
github.com/rlerdorf/php-memcached.git
cd php-memcached
git checkout phpize
/> sudo make install

自分でコンパイルしたこれら 2 つの拡張機能は、構成ファイルに手動でロードする必要があります

sudo touch /etc/php/mods-available/redis.ini sudo touch /etc/php/mods-available/ memcached .ini

そして 2 つのファイルの内容を書き込みます

extension=redis.so extension=memcached.so cd /etc/php/7.0/fpm/conf.d sudo ln -s /etc/php/mods-available / redis.ini ./ sudo ln -s /etc/php/mods-available/memcached.ini ./

コマンドラインで拡張機能を有効にする必要がある場合は、cli/conf でも拡張機能をリンクする必要があります。 dディレクトリ。 最後にサーバーを再起動します

sudoサービス php7.0-fpm restart

設定ファイルの調整 PHP7.0の最大の改善はパフォーマンスなので、opcacheが最大限の役割を果たせるように必ずopcacheを有効にしてください。 php.ini で次の設定を有効にします。

opcache.enable_cli=1
opcache.file_cache=/tmp
opcache.error_log=/var/log/opcache_errors.log

デフォルトでインストールされるパッケージエラー表示が消えています。 また、エラーログはコメント化されているため、問題発生時に情報を参照することができません。

次の設定を書いてください

error_log=/var/log/php_errors.log sudo chown www-data.www-data /var/log/php_errors.log

Nginxサーバーをインストールしました。 user 独自の Web サーバーと同じになるようにアレイを変更します。変更しない場合、プロンプトは表示されません。 opcache_errors.log ファイルについても同様です。

opcache の詳細については、こちらをご覧ください。 http://www.laruence.com/2015/12/04/3086.html

例外処理と解決

設定が完了したら、実際にインストールする必要がありますプログラムが少し動きました。現在、古いシステムを EN PHP7.0 に移行した後、最初のエラーは

09-Dec-2015 12:27:48 Asia/Chongqing] PHP Fatal error: Uncaught Error: Call to unknown function set_magic_quotes_runtime() in /init です。 .php:46

set magic quotes_runtime 関数はもう存在しません。互換性を持たせたい場合は、判断する必要があります

if(PHP_VERSION_ID < 70000){ set_magic_quotes_runtime() }

モニタリングとチューニング

OneAPM が提供するエージェントをインストールしましたシステム内で。これにより、システム全体の動作をリアルタイムに監視することができます。エージェントの他のバージョンは、公式 Web サイトからダウンロードできます。この記事の執筆時点では、PHP 7.0 バージョンは公式にダウンロード アドレスを提供しています: https://oneapm.kf5.com/attachments/download/366552/0015667f0036f47c827fcb8fcbfbc79/

これより前は、より多くの人が xhprof を使用して検出と最適化を行うでしょう。ただし、xhprof はプログラム全体のパフォーマンス収集サンプルを適切に要約できず、視覚的な曲線グラフや Web トランザクション追跡が不十分なため、システムのボトルネックを短期間で評価することが困難です。

そこで、OneAPM の PHP エージェントを使用してこれらのタスクを完了します。OneAPM はスケジュールされたサンプリングとレポートを使用してパフォーマンス情報を収集し、リソース消費は 5% 未満であると公式に主張しています。ただし、パフォーマンスが数倍向上した PHP7.0 を使用する場合、これらの損失は無視できるため、クラスター内の複数のマシンに 1 つだけデプロイしました。

以下では、基本的なパフォーマンス分析とトラブルシューティング方法を紹介します。

たとえば、ダッシュボードで特定の期間におけるシステム全体の安定性を確認できます。写真では午前 6 時頃の異常なピークが見られました。リスト フィルターから WEB 外部を削除して、以下を確認します。絵。 。

他の業務は正常です。最後の PHP 層までの平均実行時間はわずか 10 ミリ秒です。上の図に戻り、波のピークのインジケーターをクリックして、具体的な詳細を確認します。

詳細を開くと、WeChat インターフェースが 6 時に切断されたことがはっきりとわかります。このページでは、サードパーティのサービス呼び出しへの応答を監視することもできます。たとえば、api.hitokoto.us サービスには 217 ミリ秒かかります。

SQL の遅延監視について簡単に見てみましょう。

Web トランザクションの応答時間の比率から、スクリプトの実行時間が比較的長いことがわかります。上の図から、データベース クエリに 579 ミリ秒かかっていることがわかります

詳細に切り替えると、このページでは、スクリプト プロセス全体の呼び出しが確認できますが、プログラム mysqli.php の 88 行目で実行されるクエリに時間がかかりすぎることが最終的に判明しました。

上記は、OneAPM を通じてプログラムの安定性を継続的にチェックするための基本的な方法にすぎません。

毎日の運用でプログラムが受け取る訪問は異なるため、同時実行数の突然の増加や、ただし、Apdex インジケーターは通常、「非常に美しい」と表示しますが、OneAPM を使用すると、コードの改善や最適化を続けるために、パフォーマンスに影響を与えるプログラムの部分を簡単に見つけることができます。

(この記事の著者は OneAPM ユーザーであり、OneAPM 公式ブログに再投稿を許可しています)

OneAPM for PHP は、すべての PHP アプリケーションに深く入り込んで、コードレベルのパフォーマンスの問題の可視化や迅速なパフォーマンスの監視など、アプリケーションのパフォーマンス管理と監視を完了できます。パフォーマンスのボトルネックの特定と追跡、実際のユーザー エクスペリエンスの監視、サーバーの監視、エンドツーエンドのアプリケーション パフォーマンス管理。さらに技術的な記事を読むには、OneAPM 公式テクノロジー ブログにアクセスしてください。

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