2010-10-07 13 views
11

यदि किसी पृष्ठ को संसाधित करने में कुछ सेकंड लगते हैं, तो मैं अपाचे को उस URL को कहीं लॉग इन करना चाहता हूं। क्या यह संभव है? मेरे पास बहुत सारी साइटें हैं, इसलिए मैं प्रत्येक साइट के लिए स्वामित्व कोड के विरोध में ऐसा करने का एक स्वचालित तरीका ढूंढ रहा था।क्या अपाचे लॉग धीमा अनुरोध करने का कोई तरीका है?

उत्तर

21

http://httpd.apache.org/docs/2.2/mod/mod_log_config.html पर एक नज़र डालें। आप एक कस्टम लॉग सेट अप कर सकते हैं जिसमें अनुरोध करने के लिए समय लगेगा।

उदाहरण के लिए:

LogFormat "%h %l %u %t \"%r\" %>s %b %D" common-time 

माइक्रोसेकंड में समय जोड़ना होगा यह आपके लॉगफ़ाइल के अंतिम क्षेत्र के रूप में अनुरोध सेवा करने के लिए ले लिया।

CustomLog logs/access_log_time common-time 

तुम भी एक नया LogFormat केवल वास्तव में क्या आप जिसमें बना सकते हैं:

आप अपने httpd.conf है कि लाइन जोड़ना होगा प्रत्येक वर्चुअलहोस्ट जहां आप इसे उपयोग करना चाहते हैं तो, इस लाइन को जोड़ने चाहते हैं, हो सकता है इस तरह:

LogFormat "\"%r\" %D" measure-time 

अपने वर्चुअलहोस्ट में, आप अनेक लॉग हो सकता है, तो आप हो सकता है:

CustomLog logs/access_log common 
CustomLog logs/access_log_time measure-time 

सभी ने कहा कि, विशाल चेतावनी है। यह केवल पृष्ठ को सेवा देने के लिए सर्वर को ले जाने के समय को माप देगा। यह ब्राउज़र में किसी भी जावास्क्रिप्ट को निष्पादित करने में लगने वाला समय शामिल नहीं करेगा। यदि आपको जावास्क्रिप्ट निष्पादन समय को मापने की आवश्यकता है, तो आपको firebug जैसे टूल का उपयोग करना होगा।

एक बार जब आप लॉग प्राप्त कर लेंगे, तो आप लॉगफाइल को पार्स करने के लिए apachelog जैसे कुछ उपयोग कर सकते हैं ताकि केवल उन अनुरोधों को प्राप्त किया जा सके जो आप उपयोग करना चाहते हैं।

मुझे यकीन नहीं है कि केवल लंबे अनुरोधों को लॉग करना संभव है और पार्सिंग चरण को बाईपास करना संभव है। यह हो सकता है, लेकिन मुझे लगता है कि यह एक महत्वपूर्ण मात्रा में काम करेगा।

+0

क्या लॉग फ़ाइल में इसका उपयोग करने के कोई परिणाम हैं? उदाहरण के लिए, लॉग लाइन थूकने से पहले प्रतिक्रिया समय की गणना करने में अतिरिक्त ओवरहेड है? – laughingbovine

+1

ओवरहेड हो सकता है, लेकिन मुझे लगता है कि आपके साइट/सर्वर प्रदर्शन पर किसी भी तरह का ध्यान देने योग्य प्रभाव होने से पहले आपको कुछ महत्वपूर्ण ट्रैफिक होना होगा। मैं इस परिवर्तन को लागू करने से पहले और बाद में परीक्षण करने के लिए [ab] (http://httpd.apache.org/docs/2.2/programs/ab.html) का उपयोग करने का सुझाव देता हूं ताकि आपको पता चल सके कि यह आपके लिए कैसा प्रदर्शन करेगा। – bradym

+5

कहने का कोई तरीका है, केवल माप करें कि माप-समय> 1 सेकंड है? –

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