php-fpm: หลายร้อยวินาทีในบันทึก


12

ฉันมีเว็บเซิร์ฟเวอร์ nginx + php-fpm

ดังนั้นฉันสังเกตเห็นใน php5-fpm.log หลายบรรทัดที่แปลก:

[03-Sep-2013 09:25:23] NOTICE: [pool www] child 23999 exited with code 0 after 321.832329 seconds from start
[03-Sep-2013 09:25:23] NOTICE: [pool www] child 24082 started
[03-Sep-2013 09:25:41] NOTICE: [pool www] child 24032 exited with code 0 after 259.247887 seconds from start
[03-Sep-2013 09:25:41] NOTICE: [pool www] child 24083 started
[03-Sep-2013 09:25:47] NOTICE: [pool www] child 24033 exited with code 0 after 255.954602 seconds from start
[03-Sep-2013 09:25:47] NOTICE: [pool www] child 24084 started
[03-Sep-2013 09:25:50] NOTICE: [pool www] child 24014 exited with code 0 after 327.620462 seconds from start
[03-Sep-2013 09:25:50] NOTICE: [pool www] child 24085 started
[03-Sep-2013 09:25:55] NOTICE: [pool www] child 24034 exited with code 0 after 254.974653 seconds from start
[03-Sep-2013 09:25:55] NOTICE: [pool www] child 24086 started
[03-Sep-2013 09:26:01] NOTICE: [pool www] child 24035 exited with code 0 after 253.388234 seconds from start
[03-Sep-2013 09:26:01] NOTICE: [pool www] child 24087 started
[03-Sep-2013 09:26:02] NOTICE: [pool www] child 24036 exited with code 0 after 251.374430 seconds from start
[03-Sep-2013 09:26:02] NOTICE: [pool www] child 24088 started
[03-Sep-2013 09:26:05] NOTICE: [pool www] child 24019 exited with code 0 after 325.601766 seconds from start
[03-Sep-2013 09:26:05] NOTICE: [pool www] child 24089 started
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24037 exited with code 0 after 255.871955 seconds from start
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24090 started
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24038 exited with code 0 after 255.884311 seconds from start
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24091 started
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24039 exited with code 0 after 254.826181 seconds from start
[03-Sep-2013 09:26:09] NOTICE: [pool www] child 24092 started
[03-Sep-2013 09:26:12] NOTICE: [pool www] child 24040 exited with code 0 after 256.232759 seconds from start
[03-Sep-2013 09:26:12] NOTICE: [pool www] child 24093 started
[03-Sep-2013 09:26:14] NOTICE: [pool www] child 24027 exited with code 0 after 321.722533 seconds from start

ทุกคนสามารถบอกฉันได้ว่าวินาทีเหล่านี้เป็นอย่างไรafter 321.722533 seconds from startและมันหมายความว่าอย่างไร

UPD

config ของฉันคือ:

pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 100

คำตอบ:


20

"วินาที" เป็นหน่วยเวลา 321 ในนั้นคือน้อยกว่าห้านาที

เหตุผลที่กระบวนการของคุณกำลังออกและการตอบสนองคือคุณได้ตั้งค่าpm.max_requestsตัวเลือกในไฟล์กำหนดค่าพูล php-fpm

ตัวอย่างเช่นนำมาจากการกำหนดค่าเริ่มต้น:

; The number of requests each child process should execute before respawning.
; This can be useful to work around memory leaks in 3rd party libraries. For
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
; Default Value: 0
pm.max_requests = 500

เราสามารถเห็นได้ในการกำหนดค่าของคุณว่ามีการตั้งค่าเป็น100ดังนั้น php-fpm รีไซเคิลกระบวนการหลังจากที่ได้ประมวลผล 100 คำขอ


ดังนั้นมันหมายถึงเฉพาะด้ายคอนกรีตที่มีชีวิตอยู่ไม่321กี่วินาทีและจะเกิดขึ้นอีกครั้ง ฉันไม่สามารถให้ความสนใจกับมันได้หรือไม่
Lari13

1
คุณสามารถละเว้นข้อความเหล่านี้ พวกเขาไม่เป็นอันตรายและให้ข้อมูลอย่างหมดจด
Michael Hampton

รายการบันทึกเหล่านี้สามารถหลีกเลี่ยงได้โดยการเพิ่มlog_levelพารามิเตอร์ในphp-fpm.confจากnotice(นั่นคือค่าเริ่มต้นบางที) เพื่อwarning
เปาโล

2

max_requestsการตั้งค่าของคุณพูดว่าอะไร? หากนี่เป็นเว็บไซต์ไม่ว่างอาจมีการนำกระบวนการลูกกลับมาใช้อีกครั้งหากพบว่ามีคำขอจำนวนมากเว้นแต่จะระบุว่าเป็น 0 ซึ่งในกรณีนี้อาจเป็นการหยุดพักชั่วคราวภายในและกระบวนการปิดลูกเพื่อบันทึกหน่วยความจำในช่วงเวลาที่เงียบ ฉันรู้ว่าตัวประมวลผล FastCGI สำหรับ IIS ทำสิ่งนี้ เป็นไปได้ว่าสถานการณ์เดียวกันที่นี่

Src: http://php-fpm.org/wiki/Configuration_File

แก้ไข: แล้วนั่นคือสิ่งที่เกิดขึ้น ทันทีที่เด็กคนหนึ่งร้องขอ 100 คำขอจะถูกปิด PHP-FPM จะเปิดขึ้นใหม่เมื่อจำเป็น (ซึ่งอาจเป็นได้ทันที)


pm.max_requests = 100ในการกำหนดค่าของฉัน กรุณาดูการปรับปรุง
Lari13
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.