2010-05-10 18 views
5

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

उत्तर

13

42 सेकंड्स

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

यह कहा गया कि असली जवाब यह है कि उपयोगकर्ता बिना प्रतिक्रिया के कितने समय तक जाने के लिए बहुत लंबा है? एक त्वरित घंटे का चश्मा लोगो, या प्रगति पट्टी को भी मारना, उपयोगकर्ता के लिए दुनिया में सभी अंतर कर सकता है। उस ने कहा, यदि आप जो सेवा प्रदान कर रहे हैं वह वास्तविक समय होनी चाहिए और डेस्कटॉप ऐप की तरह कार्य करना चाहिए, मूल रूप से "कुछ भी समझने योग्य" है।

तो, कॉप-आउट उत्तर ... यह निर्भर करता है। उस ने कहा, यहां तक ​​कि एक "बहुत लंबा" इंतजार, उचित यूआई डिजाइन और ग्राहक बातचीत से दूर किया जा सकता है।

+2

+1। जटिल चीजें हमेशा लंबी लगती हैं (यदि नहीं, तो वे जटिल नहीं होंगे), लेकिन उपयोगकर्ता को क्या निराशा होती है, प्रतिक्रिया की कमी है (यह सनसनी है कि मेरा कंप्यूटर "कुछ भी नहीं कर रहा है") – Agos

+0

अच्छा जवाब यहाँ! – sepehr

+0

+1 (ऐसा नहीं) छिपे हुए उद्धरण के लिए छिपा उद्धरण – Eineki

1

PHP स्क्रिप्ट निष्पादन के लिए default limit अच्छी तरह से 30 सेकंड है। तुम सिर्फ उन नजरिए से पूछ रहे हैं तो अंगूठे का नियम होगा तेजी से बेहतर ...

0

कुछ भी है कि इस प्रक्रिया समय के कुछ सेकंड से अधिक लेता है अलग ढंग से संभाला जाना चाहिए, यहाँ कुछ उदाहरण हैं

  • कैश इसके उत्पादन सर्वर साइड
  • कि प्रसंस्करण
  • स्पोन का उपयोग कर PHP के साथ एक छद्म प्रक्रिया करता है एक क्रॉन नौकरी भागो system()
0

अंगूठे का मेरा नियम:

रखें सर्वर साइड प्रसंस्करण एक दूसरे के तहत औसत स्थिति में और निश्चित रूप से सबसे खराब स्थिति में 30 के तहत।

0

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

0

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

10

Jacob Nielsen किया है कुछ research on this.

  • 0,1 दूसरा, उपयोगकर्ता का मानना ​​है कि प्रणाली को तुरंत प्रतिक्रिया कर रहा है रखने के लिए सीमा के बारे में है जिसका अर्थ है कि कोई विशेष प्रतिक्रिया को छोड़कर परिणाम प्रदर्शित करने के लिए आवश्यक है ।
  • 1.0 सेकंड उपयोगकर्ता के विचारों के प्रवाह की सीमा के बारे में सीमा के बारे में है, भले ही उपयोगकर्ता देरी का ध्यान रखे। आम तौर पर, 0.1 से अधिक की देरी के दौरान कोई भी विशेष प्रतिक्रिया आवश्यक नहीं है लेकिन 1.0 सेकंड से कम है, लेकिन उपयोगकर्ता डेटा पर सीधे संचालन की भावना खो देता है।
  • 10 सेकंड उपयोगकर्ता पर ध्यान केंद्रित करने पर ध्यान केंद्रित करने की सीमा के बारे में है। लंबे समय तक देरी के लिए, कंप्यूटर कंप्यूटर खत्म होने की प्रतीक्षा करते समय अन्य कार्य करना चाहते हैं, इसलिए उन्हें प्रतिक्रिया दी जानी चाहिए कि कंप्यूटर कब किया जाता है। देरी के दौरान प्रतिक्रिया विशेष रूप से महत्वपूर्ण होती है यदि प्रतिक्रिया समय अत्यधिक चर होने की संभावना है, क्योंकि उपयोगकर्ताओं को तब पता नहीं चलेगा कि क्या उम्मीद करनी है।

प्रेरणा के रूप में सेवा करने के लिए, आप कैसे NetBeans समुदाय interpret these values पर दे सकता है:

  1. 0,1 दूसरा - (उदाहरण के लिए फ़ोल्डर विस्तार, संपादक में पेस्ट, नेविगेशन नेविगेशन और कार्य को संपादित संपादक में), और सभी मेनू बारों की पेंटिंग इस सीमा के भीतर समाप्त होनी चाहिए
  2. 1.0 सेकंड - सभी विंडो और संवाद खोलने को टी के भीतर समाप्त होना चाहिए उनकी सीमा
  3. 10 सेकंड - सभी क्रियाएं जो 1 सेकंड के बाद बाद में समाप्त होती हैं और आमतौर पर 10 सेकंड से कम समय लेती हैं, उन्हें कुछ प्रकार के व्यस्त संकेत दिखाना चाहिए (उदा। घंटा कांच कर्सर या "कृपया प्रतीक्षा करें ..." पाठ); इस सीमा से अधिक समय ले सभी कार्यों प्रगति एपीआई
+0

+1। –

0

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

यदि आप AJAX का उपयोग नहीं कर सकते हैं और आपकी PHP स्क्रिप्ट ले रही है, उदाहरण के लिए, लोड करने के लिए 10 सेकंड से अधिक, इसे अनुकूलित करने के तरीके के बारे में सोचने का प्रयास करें। प्रतिक्रिया के लिए

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