यह सवाल है, और यह के जवाब में से जुड़ा हुआ हैं, मदद कर सकता है: Is there some industry standard for unacceptable webapp response time?
अपने प्रश्न का कुछ हद तक स्पर्शरेखा (कोई समय अंतराल, खेद), लेकिन मैं अपने काम के लिए उपयोगी संदेह: एक आम टाइमआउट के लिए दृष्टिकोण उन्हें "बैक-ऑफ" टाइमर के साथ संतुलित करना है।
यह इस तरह कुछ चला जाता है: पहली बार सेवा समय समाप्त होने पर, इसके बारे में चिंता न करें। पंक्ति में दूसरी बार एक सेवा समय समाप्त होने पर, इसे एन सेकंड के लिए कॉल करने से परेशान न करें। पंक्ति में तीसरी बार एक सेवा समय बाहर, इसे एन + 1 सेकंड के लिए कॉल न करें। फिर एन + 2, एन + 3, एन +5, एन +8, आदि, जब तक आप कुछ अधिकतम सीमा तक पहुंच नहीं पाते हैं एम
जब आपको वैध प्रतिक्रिया मिलती है तो टाइमआउट काउंटर रीसेट हो जाता है।
मैं यहां "बैक-ऑफ" समय अवधि बढ़ाने के लिए एक फाइबोनैकी अनुक्रम का उपयोग कर रहा हूं, लेकिन निश्चित रूप से आप किसी भी अन्य उपयुक्त कार्य का उपयोग कर सकते हैं - बिंदु यह है कि यदि आप जिस सेवा की कोशिश कर रहे हैं, वह आपको समय देता है, तो आप " विश्वास "इसमें छोटे और छोटे हो जाते हैं, इसलिए आप इसे कम करने के लिए कम संसाधन खर्च करते हैं, और दरवाजे पर अधिक दुर्लभ रूप से दस्तक देते हैं। इससे दूसरी छोर पर सेवा में मदद मिल सकती है, जिसे आसानी से अधिभारित किया जा सकता है और फिर से अनुरोध करने से मामलों को और भी खराब कर दिया जा सकता है, और यह आपके प्रतिक्रिया समय को बढ़ाएगा क्योंकि आप उस सेवा के लिए इंतजार नहीं करेंगे जो उत्तर देने की संभावना नहीं है।
सर्वर को हथौड़ा होने से रोकने के लिए एक रैखिक प्रगति (उदाहरण के लिए एन, 2 एन, 4 एन) की बजाय ज्यामितीय प्रगति होना आम बात है। – ashes999
पहले के बाद प्रत्येक पुनः प्रयास में यादृच्छिक राशि जोड़ना भी आम है ताकि नीचे दी गई सेवा उसी सटीक समय पर पुनः प्रयास करके सब कुछ नष्ट न हो। –