ホームページ > バックエンド開発 > PHPチュートリアル > php-fpm7.0 スロークエリの設定と手順について

php-fpm7.0 スロークエリの設定と手順について

藏色散人
リリース: 2023-04-09 21:12:02
転載
2002 人が閲覧しました

この記事では、php-fpm7.0 のスロークエリの設定と手順を紹介します。一定の参考値があるので、必要な方は参考にしてください。皆様のお役に立てれば幸いです。

推奨学習: 「PHP ビデオ チュートリアル

環境の説明

root@ubuntu:/home/tb# cat /etc/issue
Ubuntu 16.04.2 LTS \n \l

root@ubuntu:/home/tb# php -v
PHP 7.0.15-0ubuntu0.16.04.4 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.15-0ubuntu0.16.04.4, Copyright (c) 1999-2017, by Zend Technologies
ログイン後にコピー

php-fpm構成パスの最後の行を表示します

root@ubuntu:/home/tb# ps -ef |grep fpm
root      1642     1  0 10:17 ?        00:00:01 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
www-data  3685  1642  0 17:14 ?        00:00:04 php-fpm: pool www
www-data  3686  1642  0 17:14 ?        00:00:03 php-fpm: pool www
www-data  3808  1642  0 17:43 ?        00:00:03 php-fpm: pool www
root      3930  2208  0 18:10 pts/0    00:00:00 grep --color=auto fpm
root@ubuntu:/home/tb#
ログイン後にコピー

php-fpm.conf

include=/etc/php/7.0/fpm/pool.d/*.conf
ログイン後にコピー

次にそこに移動して、www.conf を変更し、スロー クエリに関する導入を確認します。

314 ; The log file for slow requests
315 ; Default Value: not set
316 ; Note: slowlog is mandatory if request_slowlog_timeout is set
317 ;slowlog = log/$pool.log.slow
318
319 ; The timeout for serving a single request after which a PHP backtrace will be
320 ; dumped to the 'slowlog' file. A value of '0s' means 'off'.
321 ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
322 ; Default Value: 0
323 ;request_slowlog_timeout = 0
ログイン後にコピー

2 行の構成を追加します。

slowlog=/var/log/php7.0/fpm/slow.log
request_slowlog_timeout=1s
ログイン後にコピー

fpm を再起動し、一般的な問題に注意します。ディレクトリ権限など

service php7.0-fpm reload
ログイン後にコピー

ログエコー結果の表示

[03-Jan-2018 18:48:53]  [pool www] pid 4934
script_filename = /usr/share/nginx/ testapp/index.php
[0x00007fb626213520] session_start() /usr/share/nginx/ testapp/app/models/user_model.php:11
[0x00007fb6262134a0] __construct() /usr/share/nginx/ci_2.2.0/core/Loader.php:303
[0x00007fb626213390] model() /usr/share/nginx/ testapp/app/core/my_Controller.php:39
[0x00007fb6262132e0] __construct() /usr/share/nginx/ testapp/app/controllers/home.php:8
[0x00007fb626213270] __construct() /usr/share/nginx/ci_2.2.0/core/CodeIgniter.php:308
[0x00007fb6262130e0] [INCLUDE_OR_EVAL]() /usr/share/nginx/ testapp/index.php:325

[03-Jan-2018 18:48:53]  [pool www] pid 4931
script_filename = /usr/share/nginx/ testapp/index.php
[0x00007fb626213520] session_start() /usr/share/nginx/ testapp/app/models/user_model.php:11
[0x00007fb6262134a0] __construct() /usr/share/nginx/ci_2.2.0/core/Loader.php:303
[0x00007fb626213390] model() /usr/share/nginx/ testapp/app/core/my_Controller.php:39
[0x00007fb6262132e0] __construct() /usr/share/nginx/ testapp/app/controllers/home.php:8
[0x00007fb626213270] __construct() /usr/share/nginx/ci_2.2.0/core/CodeIgniter.php:308
[0x00007fb6262130e0] [INCLUDE_OR_EVAL]() /usr/share/nginx/ testapp/index.php:325
ログイン後にコピー

ログに関する説明

[03-Jan-2018 18:48:53]  [pool www] pid 4931
ログイン後にコピー

これについては説明がありません。時間プロセスID

script_filename = /usr/share/nginx/ testapp/index.php
ログイン後にコピー

実行スクリプト名、php Web アプリケーション 単一エントリの場合

[0x00007fb626213520] session_start() /usr/share/nginx/ testapp/app/models/user_model.php:11
ログイン後にコピー

この 3 行目はより重要です: これはスタック トレースの先頭であり、現在実行されているメソッドのどの関数呼び出しがしきい値を超えているか、および特定のファイルとコード行
残りの部分は呼び出しの順序です (下から上へ、最終的に速度低下とタイムアウトが発生します)

その他の指示

3 行目が curl_exec() に似ていることがわかった場合、たとえば、これは通常、ネットワーク IO に時間がかかっていることが原因です。サードパーティを要求する必要がある場合は、そのようになります。 。我慢できる。

[0x00007fb6262136f0] curl_exec() /usr/share/nginx/
ログイン後にコピー

同様に、mysql_queryなどがある場合も、sql throw query

参考リンク##が原因です。

#php-fpm 設定: https://www.php.net/manual/zh/install.fpm.configuration.php

how-to-read-the-php-slow-request-ログ: https://serverpilot.io/docs/how-to-read-the-php-slow-request-log/


以上がphp-fpm7.0 スロークエリの設定と手順についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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