2011-01-29 12 views
9

मुझे पता है कि मैं कब या कब अपना वेब एप्लिकेशन यातायात/गतिविधियों को संभाल नहीं सकता और एक "असफल व्हेल" पृष्ठ दिखा सकता हूं?एक असफल व्हेल कब दिखाना है?

+6

मैं इसे एक ऑक्टोपैट कहना पसंद करता हूं। –

+0

यह कोड कोड की तुलना में शायद सर्वर समस्या का अधिक है। –

उत्तर

8

यदि आप सर्वर को उच्च लोड के तहत एक त्रुटि दिखाना चाहते हैं तो आप sys_getloadavg() को आजमा सकते हैं।

<?php 
    $load = sys_getloadavg(); 
    $max_load = 95; 

    if($load[0] >= $max_load){ 
     // Show failwhale 
    }else{ 
     // Do stuff 
    } 
?> 
+0

यह एक बहुत अच्छा समाधान है। सर्वर का कुछ तनाव परीक्षण यह पता लगाने के लिए करें कि यह किस प्रकार का भार संभाल सकता है ताकि आपको यह पता चल सके कि आपका अधिकतम क्या है। – Endophage

+0

हां। यह एक अच्छा है। अब मैं सोच रहा हूं कि अधिकतम मूल्य का विचार कैसे प्राप्त करें ?? वैसे भी धन्यवाद @ जोसेफ डब्ल्यू – ptamzz

3

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

1

जब से तुम मुद्दों की एक किस्म के देखने के लिए की आवश्यकता होगी, मैं त्रुटि हैंडलिंग में शुरू कहेंगे: (जैसे कि बहुत अधिक कनेक्शन के रूप में) अपने डेटाबेस विक्रेता के संबंध प्रलेखन में

http://www.php.net/manual/en/book.errorfunc.php

देखो; यहाँ MySQL है:

http://php.net/manual/en/function.mysql-error.php

http://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html

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

इसके अलावा, अगर आपको यह पता चला है, तो फेसबुक टीम को एक लाइन छोड़ दें।

3

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

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

+0

एक तरह से मैं असहमत हूं; –

+2

@ जेरेड फ़रीश कैसे? मुझे इतना उत्सुक मत छोड़ो ... – Endophage

+0

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

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