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और इसका क्या मतलब है?

युपीडी

मेरा विन्यास है:

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सेकंड में रहता है और इसे रिहा किया जाएगा। मैं इस पर ध्यान नहीं दे सकता हूं?
लारी

1
आप इन संदेशों को अनदेखा कर सकते हैं; वे हानिरहित और विशुद्ध रूप से सूचनात्मक हैं।
माइकल हैम्पटन

इन लॉग प्रविष्टियों को log_levelपैरामीटर को अंदर php-fpm.confसे उठाकर टाला जा सकता है notice(जो कि शायद डिफ़ॉल्ट मान है)warning
पाओलो

2

आपकी max_requestsसेटिंग क्या कहती है? यदि यह एक व्यस्त वेबसाइट है, तो यह संभावना है कि यह अनुरोधों की संख्या को हिट करने के बाद अपनी बाल प्रक्रियाओं को पुन: चक्रित कर सकती है - जब तक कि यह 0 नहीं कहता है, उस स्थिति में यह आंतरिक समयबाह्य हो सकता है और शांत समय के दौरान स्मृति को बचाने के लिए बच्चे की प्रक्रियाओं को बंद कर सकता है। मुझे पता है कि IIS के लिए FastCGI प्रोसेसर ऐसा करता है; यहाँ भी यही स्थिति है।

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

संपादित करें: फिर वही हो रहा है। जैसे ही एक बच्चा 100 अनुरोधों को मारता है, वह बंद हो जाता है। PHP-FPM तब जरूरत पड़ने पर एक नया खोलेगा (जो तुरंत हो सकता है)।


pm.max_requests = 100मेरे विन्यास में। योजना, अद्यतन देखें
Lari13
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.