क्या वेब एप्लिकेशन स्टार्टअप समय वास्तव में महत्वपूर्ण है?


11

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

मुझे याद है कि कुछ समय पहले एसओ के सवालों पर ऐसी सलाह पढ़ना, लोग "अगर आप जुर्माना लगा सकते हैं" पर मुहर के साथ पृष्ठ के उपयोग के बजाय स्टार्टअप पर आरंभ करने की सलाह देते हैं।

मैंने ऐसे वेब ऐप्स के साथ काम किया है जो 30 सेकंड से शुरू होकर 4-5 मिनट तक चलते हैं लेकिन एक बार ऑनलाइन होने के बाद वे हिल गए।

तो मुझे क्या याद आ रही है? जब तक यह एक महत्वपूर्ण अनुप्रयोग है ... मुझे नहीं पता ... वित्तीय बाजार, चिकित्सा अनुप्रयोगों, अंतरिक्ष अन्वेषण आदि के लिए, क्या यह वास्तव में महत्वपूर्ण है स्टार्टअप समय?

पुनश्च मैं वेब ऐप्स का कड़ाई से उल्लेख कर रहा हूं, डेस्कटॉप ऐप तेजी से बिजली शुरू करने के लिए बाध्य हैं।


क्या आवेदन शुरू होने के लिए एक गैर-कार्यात्मक आवश्यकता निर्धारित की गई है या यह सिर्फ विकास के भीतर चर्चा है?
स्टुपरयूजर

@StuperUser: कोई आवश्यकता नहीं, बस एक चर्चा अभी तक।
जॉनडूडो

वास्तव में एक उपयोगकर्ता अनुभव साइट है जहां यह बेहतर पूछा जाएगा।
साइक्लॉप्स

@ साइक्लोप्स: मैं वास्तव में बाड़ के सर्वर साइड के कारणों में अधिक रुचि रखता हूं, उपयोगकर्ता की तरफ से नहीं।
जॉनडूडो

जवाबों:


18

यह विकास के दौरान एक बड़ा कारक हो सकता है: यदि आपका प्लेटफ़ॉर्म किसी चल रहे एप्लिकेशन में बदलते कोड का समर्थन नहीं करता है, तो स्टार्टअप समय आपके प्रतिक्रिया चक्र का हिस्सा बन जाता है, और वहां भी, 30 सेकंड दर्दनाक और उत्पादकता के लिए खतरा है।

उत्पादन पर्यावरण के लिए, यह वास्तव में कोई फर्क नहीं पड़ता; या तो थोड़ा डाउनटाइम स्वीकार्य है और 5 मिनट अभी भी ज्यादा नहीं हैं, या यह नहीं है और आपको किसी प्रकार का लाइव स्विचओवर लागू करना होगा।


हां, मुझे विकास चक्र के बारे में जितना पता लगा है, लेकिन ऐसा नहीं है कि हम अल्पविराम, तैनाती, परिवर्तनशील नाम, तैनाती आदि को बदलते हैं। मैं व्यक्तिगत रूप से अधिकतम 10 बार / दिन विकास पर तैनात हूं। एक मिनट का स्टार्टअप या 1.2 अंतर का इतना हिस्सा नहीं है।
जॉनडूडो

7
@ जॉनडू: वास्तव में प्राकृतिक वर्कफ़्लो में से कितना है और एक आदतन लंबी तैनाती से कितना परहेज है? एक त्वरित प्रतिक्रिया चक्र उत्पादकता में काफी मदद कर सकता है। कभी-कभी छोटे, वृद्धिशील परिवर्तन करना और तुरंत परिणाम देखना वास्तव में वही है जो आपको चाहिए। 50 साल पहले लोगों ने कागज पर कार्यक्रम लिखे, उन्हें एक ऑपरेटर को सौंप दिया और अगले दिन एक मुद्रित परिणाम प्राप्त किया - कभी-कभी बस एक संकलक त्रुटि। क्या यह आपके लिए काम करने के लिए बहुत ही अयोग्य तरीका नहीं है? ठीक है, कई प्रोग्रामर के लिए, प्रति दिन आपकी 10 तैनाती बस ऐसे ही प्रतीत होती हैं।
माइकल बोर्गवर्ड

1
यदि संभव हो, तो विकास के दौरान स्टार्टअप समय में तेजी लाने के लिए "मॉक" इनिट करने के विकल्प का मूल्यांकन करें, या परीक्षण डेटा के साथ डिस्क को क्रमबद्ध करने के लिए संरचनाएं बनाएं।
विंकियो व्रसालोविक

मैं विंको से सहमत हूं, क्या कोई तरीका है जब आप डिबग मोड में निर्माण करते समय महंगा इनिट () फ़ंक्शन बंद कर सकते हैं? अगर आप जो इनिशियलाइज़ कर रहे हैं तो परेशान न हों, हालांकि आपको देव और प्रोडक्शन पर अलग-अलग परिणाम मिलेंगे।
एंडीएमसीकेना

4

मेरा मानना ​​है कि यह मामला तब है जब हेगेल की मात्रा से गुणवत्ता तक संक्रमण का प्रसिद्ध द्वंद्वात्मक सिद्धांत वास्तव में काम करता है।

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

प्रत्येक डेवलपर जो उत्पादन के लिए कुछ बुरे कोड को तैनात करता है, वह जानता है कि 5 मिनट और 1 मिनट में प्रदान किए गए हॉटफ़िक्स वास्तव में, वास्तव में अलग चीजें हैं।


2

असली सवाल यह है कि क्या ऐप बिना इनिशियलाइज़ेशन के काम करेगा। हमारे पास नए प्रदर्शन हैं जो "प्रदर्शन" के बारे में कहते हैं, मेरा स्टॉक जवाब है कि मुझे परवाह नहीं है कि आप कितनी जल्दी गलत परिणाम देते हैं। IMHO काटने वाले कोनों, एल्गोरिदम को प्रबंधित करना क्योंकि "यह इस तरह से तेज़ होगा", और अन्य महान विचार केवल बग का परिचय देते हैं।

यदि इनिशियलाइज़ेशन की आवश्यकता है तो करें। जब अंतिम उपयोगकर्ताओं को गलत परिणाम मिलते हैं, तो कितना समय बर्बाद होगा, अंततः वेब ऐप का पता लगाना गलत है, आपको कॉल करें और शिकायत करें, और आपको वापस जाना होगा और डिबग / फिक्स / टेस्ट / रीडेपल करना होगा? अब अपने सहयोगी से पूछें कि समय कैसे बचाया गया है। (और मैं शर्त लगा सकता हूँ कि आपके सर्वर कोर 99% निष्क्रिय हैं)


2

यह प्रश्न किसी विशेष मंच के बारे में नहीं पूछता है। ऐसे प्लेटफ़ॉर्म हैं जिन पर स्टार्टअप का समय वास्तव में बहुत महत्वपूर्ण है।

उदाहरण के लिए, Google App Engine पर; यदि आपका पृष्ठ एक्सेस नहीं हो रहा है (या बल्कि, उसी नोड पर किसी अन्य एप्लिकेशन की तुलना में कम बार एक्सेस किया जा रहा है), तो यह कभी-कभी अनलोड किया जाएगा।

इस प्रकार, यदि आप साइट का उपयोग आवृत्ति के नीचे 99% में होते हैं, तो स्टार्टअप समय है उपयोग समय; आपके एप्लिकेशन को लगभग हर एक्सेस पर पुनरारंभ किया जा रहा है। यदि आप कर रहे हैं शीर्ष 1% में है, तो अपने आवेदन में कई नोड्स पर शुरू किया गया है हो रही है, और हालांकि कई पेज पहुंच एक पहले से ही शुरू कर दिया उदाहरण से वापस आ जाएगी, कुछ अभी भी नहीं होगा, और इसलिए आप रुक-रुक कर होगा, लंबे समय से अभिगम समय ।

कई अन्य होस्टिंग वातावरण पर भी यही बात लागू होती है। तृतीय-पक्ष पुस्तकालयों में, या यहां तक ​​कि आपके कोड में भी जो केवल खोज को हटा दिया गया है, इसका मतलब यह हो सकता है कि आपकी वेब सेवा को चलाने का एकमात्र विश्वसनीय तरीका यह है कि इसे हर इतने सारे अनुरोधों (अक्सर 100 से 10,000 के बीच) में लोड किया जाए, और इसी तरह स्टार्ट अप समय का अक्सर भुगतान किया जाता है। किसी ऐप के लीक होने पर इस पैटर्न का उपयोग स्वीकार्य है, लेकिन जल्दी शुरू होता है; जब एप्लिकेशन शुरू होने में कुछ सेकंड से अधिक समय लगता है तो यह काम करने योग्य नहीं होता है।


1

आप अपने एप्लिकेशन को उप-मानक या इससे भी बदतर माना जा रहा है, जो आपकी विकास क्षमता है। अब, यह ऐप किसी को इतना समय बचा सकता है और / या ऐसा आवश्यक कार्य कर सकता है कि आभारी उपयोगकर्ता लंबे स्टार्टअप को देख सकें।

एप्लिकेशन को आलसी तरीके से लोड करने के लिए इस तरह से प्रोग्राम करने में अधिक समय लग सकता है, लेकिन केवल हितधारक यह निर्धारित कर सकते हैं कि क्या यह इसके लायक है। मेरे पास एक रिपोर्ट थी जो 55 सेकंड में चली। और हमने इसे 35 पर ले लिया। किसी ने गौर नहीं किया। यद्यपि मैंने 35 से 18 तक इसे प्राप्त करने में दो बार खर्च किया, सभी ने ध्यान दिया और आभारी और प्रभावित हुए। साल में कई बार इस्तेमाल किए जाने वाले ऐप के लिए 5 से 3 मिनट तक जाना कोई बड़ी बात नहीं है। उपयोगकर्ताओं के पास फेसबुक पर या कॉफ़ी पाने के लिए कम समय होगा।

धारणा ही कुंजी है। यदि सामान्य रूप से विकास टीमों के साथ कॉम्पय खुश नहीं है और विशेष रूप से यह ऐप, तो आप कुछ सद्भावना का निर्माण करना चाहते हैं और बात को गति दे सकते हैं।


वेब एप्लिकेशन स्टार्टअप समय हालांकि सामान्य उपयोगकर्ताओं को प्रभावित नहीं करना चाहिए। अन्य डेवलपर नाराज है क्योंकि वह व्यक्तिगत रूप से नियमित विकास के हिस्से के रूप में दिन में कई बार ऐप को पुनरारंभ करता है।
एंडीएमसीकेना
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.