2010-09-28 7 views
7

मैं कैसे करूँ बेंचमार्क (दो अलग अलग implementations तुलना) और प्रोफ़ाइल (पर्ल में) एक वेब अनुप्रयोग भारी बोझ के नीचे के व्यवहार (एक कार्यान्वयन में निष्पादन की कमियाँ लगता है)? यह वेबपैम (माना जाता है) IO बाध्य CPU की बजाय बाध्य है।भारी लोड के तहत मैं आईओ बाउंड पर्ल वेब एप्लिकेशन को बेंचमार्क और प्रोफाइल कैसे कर सकता हूं?

मैं वर्तमान समाधान के साथ प्रस्तावित कार्यान्वयन (प्रस्तावित सुधार) की तुलना करना चाहता हूं, या तो असली लोड पर, लेकिन अंतिम प्रदर्शन हिट को कम करना (लोड बैलेंसर के पीछे अलग-अलग सर्वरों पर शायद दो अलग-अलग कार्यान्वयन), या एक नए पर लोड/अनुकरण कार्यान्वयन, या भारी आईओ उपयोग अनुकरण।

मैं भी भारी बोझ के नीचे प्रोफ़ाइल सीपीयू और प्रस्तावित implemetation में आईओ बाधाओं, लेकिन परीक्षण के व्यवहार करना चाहते हैं।

ओएस लिनक्स है, वेब सर्वर अपाचे है।


वही सवाल ServerFault पर पोस्ट किया जाता है: How do I benchmark and profile IO bound Perl web application under heavy load?

मुझे लगता है कि इस सवाल का जवाब यहाँ यथार्थवादी भार वाली स्थितियों नकल, या उपाय खोजने के बारे में बेंचमार्किंग और वेब अनुप्रयोग पर्ल में लिखा रूपरेखा है, और शायद यह भी के बारे में हो सकता है/बेंचमार्क जो अनुमान लगाएगा कि कौन सा कार्यान्वयन भारी भार के तहत आईओ बाध्य स्थितियों के तहत बेहतर प्रदर्शन करेगा।

+1

सादा सीजीआई और फास्टसीजीआई (CGI.pm और CGI :: फास्ट के माध्यम से), modPerl :: रजिस्ट्री के माध्यम से mod_perl परिनियोजन, Plack :: ऐप :: WrapCGI –

+0

का उपयोग करके wraper के माध्यम से पीएसजीआई परिनियोजन मुझे यकीन नहीं है कि ओएस है या नहीं - या यह बेंचिंग करने का चालक-अज्ञेय तरीका .. आपको अपने सतत स्टोरेज ड्राइवरों के लिए विशिष्ट कुछ टूल मिल सकते हैं जो आपको उपयोग आंकड़े बता सकते हैं, उदाहरण के लिए बाइट स्थानांतरित, थ्रूपुट आदि, कि आप अपने विभिन्न कार्यान्वयन के लिए तुलना कर सकते हैं। लिनक्स के लिए डिस्क उपयोग उपयोगिताएं क्या देखने के लिए आप यह प्रश्न http://serverfault.com पर भी फेंकना चाहेंगे? यह वास्तव में सिस्टम प्रशासन के रूप में एक पर्ल सवाल नहीं है। – Ether

+3

http://www.perl.org/about/whitepapers/perl-profiling.html – eSniff

उत्तर

2

मैं तुम्हें Munin (http://munin-monitoring.org/) का उपयोग करने के सुझाव देना चाहेंगे।

यह प्लग-इन की टन है कि कैसे एक प्रणाली बर्ताव करता है देखने के लिए है: CPU, आई/ओ, स्मृति, नेटवर्क उपयोग, mysql लेनदेन, ... लगभग सब कुछ।

+0

बिल्कुल सही जवाब नहीं जिसे मैं देखना चाहता था, लेकिन यह उपयोगी होगा। –

-1

आप कुछ Benchmark मॉड्यूल का उपयोग कर परीक्षण बना सकते हैं। यह विशेष रूप से एक ही कार्यक्षमता के दो कार्यान्वयन की तुलना करने के लिए कार्य करता है। हालांकि यह आपके लिए सिमुलेशन लोड स्तर को काफी संभाल नहीं करता है, यह इसे करने में बहुत आसान बना देगा।

+0

मुझे बेंचमार्क मॉड्यूल के बारे में पता है; समस्या या तो I/O दबाव की स्थिति को अनुकरण कर रही है, या इसका उपयोग इनपुट जैसे लाइव डेटा पर या वेब ऐप में इसका उपयोग कर रही है। –

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

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