क्या परीक्षण करने का कोई तरीका है कि साइट लोड के तहत कैसा प्रदर्शन करेगी


9

मैंने एक Asp.net MVC वेबसाइट बनाई है और इसे एक साझा होस्टिंग प्रदाता पर होस्ट किया है। चूंकि मेरी वेबसाइट एक बहुत ही सामान्य विचार को घेरती है, इसलिए हो सकता है कि भविष्य में समवर्ती उपयोगकर्ताओं की संख्या हो।

इसलिए, मैं ऑन-लोड प्रदर्शन के लिए अपनी वेबसाइट का परीक्षण करने का एक तरीका सोच रहा था। जैसे 100 या 1000 उपयोगकर्ता एक ही समय में और वेबसाइट पर सर्फिंग करते समय साइट कैसा प्रदर्शन करेंगे। इससे मुझे यह भी समझ में आएगा कि मेरे LINQ प्रश्नों को अच्छी तरह से लिखा गया है या नहीं।

जवाबों:


12

सबसे पहले, उचित शब्द तनाव परीक्षण है । वेबसाइट तनाव परीक्षणों के लिए काफी कुछ समाधान हैं, एक होस्ट किया गया समाधान जो मैं सुझाऊंगा वह है लोडिम्पैक्ट । वे जो करते हैं वह दुनिया भर के विभिन्न सर्वरों के अनुरोधों के साथ आपकी साइट पर बमबारी करता है और आपको एक विश्लेषणात्मक रिपोर्ट देता है कि आपकी साइट ने कैसे तनाव को संभाला है। उनके पास एक नि: शुल्क परीक्षण है, जहां आप एक सामान्य विचार प्राप्त कर सकते हैं, लेकिन अधिक के लिए आपको सदस्यता शुल्क का भुगतान करना होगा।

से आगंतुकों, दृष्टि में अधिक विशिष्ट जानकारी के लिए आप स्थानीय रूप से आपके आवेदन प्रोफ़ाइल चाहिए परीक्षणों के इन प्रकार के केवल वेबसाइट का परीक्षण, और मैं वास्तव में पिछले जवाब में जोड़ने के लिए कुछ भी अधिक नहीं है, मैं उपयोग कर रहा हूँ अपाचे JMeter साथ ही ।

और, अंत में, किसी भी प्रदर्शन के प्रति जागरूक वेब डेवलपर के रूप में, आपको YSlow पर एक नज़र डालनी चाहिए :

YSlow पृष्ठ के सभी घटकों की जांच करके वेब पेज के प्रदर्शन का विश्लेषण करता है, जिसमें जावास्क्रिप्ट का उपयोग करके गतिशील रूप से बनाए गए घटक भी शामिल हैं। यह पृष्ठ के प्रदर्शन को मापता है और सुधार के लिए सुझाव देता है।

फ़ायरफ़ॉक्स के लिए YSlow फ़ायरफ़ॉक्स के लिए फायरबग वेब विकास उपकरण में एकीकृत है।

अधिक बार नहीं, मैं जावास्क्रिप्ट को वास्तविक अड़चन मानता हूं और बैक एंड कोड या डेटाबेस नहीं। बेशक बुरी तरह से लिखे गए प्रश्न एक प्रमुख प्रदर्शन दंड हो सकते हैं, लेकिन जब आप उन लोगों से निपटते हैं, तो हमेशा YSlow चलाते हैं और उसके सुझावों का पालन करते हैं, यह एक जीवन रक्षक है।

आगे की पढाई:

StackOverflow पर, बिल्कुल!


लोडिम्पैक्ट की सदस्यता शुल्क का भुगतान करने से पहले अन्य समाधानों का अन्वेषण करें। काफी समान समाधान हैं। मुझे यह पसंद है, लेकिन काम ने मुझे नहीं शुल्क का भुगतान किया :)
यानिस

मैं नि: शुल्क परीक्षण का उपयोग करूंगा .... अभी के लिए कठोर परीक्षण नहीं करना चाहता, क्योंकि इसका फिलहाल कोई मतलब नहीं है .... बस विचार प्राप्त करना चाहते हैं :-)
पंकज उपाध्याय

7

आप साझा होस्टिंग पर हैं, इसलिए यह संभावना नहीं है कि आप किसी भी परीक्षण को चलाने में सक्षम होंगे जो प्रदर्शन का ठीक से संकेत दे सकते हैं, क्योंकि आपके आवेदन में किसी भी एक समय में आपके संसाधनों की पहुंच के स्तर की कोई गारंटी नहीं होगी।

हालांकि, उस स्थिति में मैं क्या करूंगा कि एक समर्पित बॉक्स पर अलगाव में एक परीक्षण चलाकर शुरू करना है (यह आप खुद का लैपटॉप हो सकता है); विज़ुअल स्टूडियो लोड टेस्ट सूट या जेमीटर (जो मैं व्यक्तिगत रूप से बर्दाश्त नहीं कर सकता) जैसे उपकरण का उपयोग करता हूं, और उन परीक्षणों का एक सेट तैयार करता हूं जो आपके आवेदन के माध्यम से एक विशिष्ट पथ का प्रतिनिधित्व करते हैं (आपको उपयोग के माध्यम से एक विशिष्ट पथ के बारे में जानकारी प्राप्त करने में सक्षम होना चाहिए। Google Analytics का उपयोग करें। यदि यह उपलब्ध नहीं है, तो आप केवल एक का उपयोग कर सकते हैं जो आपको लगता है कि संभावना है, लेकिन याद रखें कि यह सटीक आधार रेखा नहीं देगा)। फिर एक रैंप-अप परीक्षण करें, 1 उपयोगकर्ता से शुरू करें, फिर धीरे-धीरे उपयोगकर्ताओं को जोड़ें जब तक कि आप अपने अनुमानित शिखर लोड को हिट न करें। आपको यह दिखाना चाहिए कि आपका सिस्टम पूरी तरह से कितना अच्छा है (मैं व्यक्तिगत रूप से इसे थोड़ा और आगे ले जाना चाहता हूं, यह सुनिश्चित करने के लिए कि मुझे कुछ हेडरूम मिला है)।

अंतिम चीज़ जो आप करना चाहते हैं वह परीक्षण चलाते समय ANTS प्रदर्शन प्रोफाइलर की तरह एक प्रोफाइलिंग टूल चलाएं (ध्यान रखें कि यह कुछ हेडहेड जोड़ता है)। यह आपको लंबे समय तक चलने वाले प्रश्नों और विधियों की पहचान करने की अनुमति देगा, जिससे आपको संकेत मिलेगा कि आपका आवेदन वास्तव में धीमा है (एक टिप: यह वास्तव में कभी नहीं है जहां आपको लगता है कि यह होगा)।

मुख्य मुद्दा आपके पास होगा, जैसा कि मैंने पहले कहा था, कि आप साझा होस्टिंग पर हैं, इसलिए किसी भी यथार्थवादी लाइव-पर्यावरण अनुकरण को प्राप्त करना असंभव है। हालांकि, यदि आपके आवेदन में आपके वादा किए गए संसाधनों के समान वातावरण पर एक अच्छी मात्रा में हेडरूम है, तो आपको कुछ विश्वास होना चाहिए कि कोड आपके होस्टिंग में हो सकता है, भले ही आप अपेक्षा करने से पहले अपने वातावरण की सीमाएं मार लें।


साझा होस्टिंग परीक्षण और अपने स्वयं के सर्वर के बीच अंतर पर प्रकाश फेंकने के लिए धन्यवाद।
पंकज उपाध्याय

3

आप JMeter या द ग्राइंडर जैसे टूल में देख सकते हैं ।

मैंने अभी तक केवल JMeter का उपयोग किया है, यह एक ग्राफिकल टूल है जो आपको टेस्ट प्लान बनाने में काफी आसानी से मदद करता है। आप कई उपयोगकर्ताओं को कई थ्रेड के साथ अनुकरण कर सकते हैं। आप अपने ब्राउज़र को JMeter प्रॉक्सी के साथ जोड़कर और वास्तविक कार्य करके अपनी साइट के विशिष्ट उपयोगों को भी रिकॉर्ड कर सकते हैं, इसलिए आपको स्वयं स्क्रैच से अनुरोध लिखने की आवश्यकता नहीं है। द ग्राइंडर स्क्रिप्ट-आधारित है यदि मैं सही ढंग से याद करता हूं, तो एक अच्छा फिट भी हो सकता है।


1

मुझे स्ट्रेस टेस्टिंग के लिए लोडिम्पैक्ट भी पसंद है। एक बात जो मैं अपनी साइट पर त्वरित जांच के लिए उपयोग करता हूं वह है अपाचे बेंच। जब मैं कुछ अंतिम परीक्षण चलाना चाहता हूं, तो मैं एक भुगतान सेवा की ओर देखूंगा।

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


0

मुझे नहीं लगता कि लोड परीक्षण मैन्युअल रूप से किया जा सकता है क्योंकि यह अपेक्षा से अधिक समय का उपभोग करेगा और एक थकाऊ काम होगा। आप शायद लोड रनर के लिए जा सकते हैं जो कई उपयोगकर्ताओं के लिए जा सकते हैं।


0

एक ऑटोहोटेक (एएचके) स्क्रिप्ट एक मानव उपयोगकर्ता को अनुकरण कर सकती है। इसे पूरे दिन चलने दें।

आप कुछ उपयोगकर्ताओं को अनुकरण करने के लिए इसे कई बक्से पर चला सकते हैं। अच्छी बात यह है कि परीक्षण शैली पूरी तरह से आपके नियंत्रण में है। आपके पास रिपोर्ट फीचर स्पैमिंग करने के लिए 1 AHK स्क्रिप्ट हो सकती है, और देखें कि क्या यह अन्य सुविधाओं के उपयोगकर्ताओं को प्रभावित करती है।

हालांकि मैं AHK की थ्रेडिंग क्षमताओं से परिचित नहीं हूं, इसलिए हजारों उपयोगकर्ताओं का अनुकरण करना मुश्किल हो सकता है। आपके पास जितने कंप्यूटर हैं, आप उससे बंधे हो सकते हैं।

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