2011-06-08 22 views
7

यहां मेरे वेब ऐप का ढेर है। बस nginx + php-fpm + php5.3 + mysql + memcache। हाल ही में हमने कुछ रिफैक्टर कोड तैनात किए हैं। जिसमें एसक्यूएल रिफैक्टरिंग और कैशिंग एडजस्टमेंट शामिल है। हमने पाया कि तैनाती के बाद, सर्वर लोड में तेज वृद्धि हुई थी। स्मृति उपयोग भी तेज हो गया। और शीर्ष कमांड से कई php-fpm प्रक्रियाएं पहले की तुलना में यादों के 2 गुना उपयोग कर रही थीं। तो हाँ तैनात कोड में कुछ गड़बड़ है। समस्या केवल उत्पादन env में हुई, परीक्षण & dev envs में यह ठीक है, इसलिए यह यातायात से संबंधित है।PHP उच्च स्मृति समस्या

मेरा प्रश्न आम तौर पर मैं कैसे पता लगा सकता हूं कि कौन से अनुरोध (स्क्रिप्ट) या मेरे कोड के कौन से हिस्से बहुत अधिक स्मृति का उपभोग कर रहे हैं? पता लगाने का सबसे आसान तरीका क्या है?

बहुत बहुत धन्यवाद।

+0

चल प्रोफाइलर आप अधिक समय लग रहा लिपियों की एक विचार दे सकते हैं –

+1

चलाता है वास्तव में मैं प्रोफाइलर के रूप में xdebug का उपयोग कर रहा हूं, लेकिन मुझे स्मृति उपयोग के बारे में अधिक जानकारी नहीं मिली। – Shawn

+1

फायरबग भी मदद करता है और मेरे पास एक अच्छा लेख था http://devzone.zend.com/article/2899 –

उत्तर

1

बनाएं एक फ़ाइल को शामिल जब प्रोग्राम निकलता है, तो ऑटो-प्रीपेड का उपयोग करके इसे मैप करें। यदि यह अपाचे थे, तो यह stderr को यह लिखने के लिए सुरक्षित हो जाएगा और यह error_log में दिखाई देता है - यकीन नहीं अगर यह nginx साथ काम करता है:

<?php 
function logit() 
{ 
    $line = $_SERVER['REQUEST_URI'] 
     . ' ' . memory_get_peak_usage(true); 
    // if stderr works... 
    $stderr = fopen('php://stderr', 'w'); 
    fputs(stderr, date('r') . ' ' . $line); 
    fclose($stderr); 
    // alternatively 
    openlog("php_memory", LOG_PID | LOG_PERROR, LOG_LOCAL0); 
    syslog(LOG_INFO, $line); 
    closelog(); 
} 
register_shutdown_function('logit'); 
1

हम मेमोरी प्रोफाइलिंग के लिए XHProf का उपयोग कर रहे हैं। यह सही नहीं है, लेकिन आपको क्या हो रहा है की एक बहुत अच्छी समझ मिलती है। आप इसे और अधिक तो एक बार चल रहे हैं मैं भी निम्नलिखित जीयूआई का उपयोग करने की सलाह देते हैं (जो आप spiking reqeust को खोजने के लिए क्या करने की जरूरत है): स्मृति उपयोग लॉग इन करने के XHPROF GUI

संबंध

संबंधित मुद्दे