ホームページ  >  記事  >  バックエンド開発  >  PHP ログは、開始から数秒後にエラー子がコード 0 で終了したことを報告します

PHP ログは、開始から数秒後にエラー子がコード 0 で終了したことを報告します

WBOY
WBOYオリジナル
2016-06-20 12:55:412078ブラウズ

以前に 502 が発生したため、ログ プロンプト

[27-May-2015 13:54:34] 警告: [pool www] がビジーのようです (pm.start_servers または pm.start_servers を増やす必要があるかもしれません。 min/max_spare_servers)、32 個の子を生成、16 個のアイドル状態、合計 602 個の子

次に、pm.start_servers パラメーターを任意に追加しました。しばらくすると、php ログ /usr/local/php/var が記録されます。 /log/php-fpm.log の情報の一部は次のとおりです:


[27-May-2015 15:13:48] 通知: [プール www] child 3998 が開始されました

[27-May-2015 15:13:59] 通知: [プール www] child 9242 は開始から 47575.960999 秒後にコード 0 で終了しました

[27-May-2015] 15:13:59 ] 通知: [プール www] 子 4210 が開始されました

[27-May-2015 15:14:42] 通知: [プール www] 子 9217 は開始から 47619.884065 秒後にコード 0 で終了しました

[27-May-2015 15:14:42] 通知: [プール www] 子 5621 が開始しました

[27-May-2015 15:14:43] 通知: [プール www] ] 子 9561 は、開始から 47620.024499 秒後にコード 0 で終了しました


その理由は、パラメーター pm.start_servers が次の式に従っていないためです:

pm .start_servers= min_spare_servers + (max_spare_servers - min_spare_servers) / 2

通常、min_spare_servers は 20 に設定されます

max_spare_servers は、サーバー自体のメモリに基づいて計算されます。標準アルゴリズムではメモリを分割します。サイズは 30M 単位

もちろん、一部の PHP プログラムは、状況によっては 30M 未満の比較的小さな量を占有する場合もあります。

私の設定は次のとおりです

コメント部分をフィルターします:

cat /usr/local/php/etc/php-fpm.conf | grep -v "^; " | grep -v "^$"


[グローバル]

pid = run/php-fpm.pid

error_log = log/php-fpm.log

emergency_restart_threshold = 10

emergency_restart_interval = 1m

process_control_timeout = 10s

rlimit_files = 65535

events.mechanism = epoll

[www]

ユーザー = www

グループ = www

聞く= 127.0.0.1:9000

pm = 動的

pm.max_children = 1400

pm.start_servers = 710

pm .min_spare_servers = 20

pm.max_spare_servers = 1400

pm.max_requests = 10000

throwlog = log/$pool.log.slow


次にリロード
/usr/local/nginx/sbin/nginx -s reload

いいえ情報は数日間ログに表示されます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。