पहले दिन ऑनलाइन: कैसे अपनी साइट को मारने के लिए नहीं


14

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

मैं इस जोखिम को कैसे कम कर सकता हूं?

मैंने सोचा है

  • एसओ और एसएफ की तरह धीरे-धीरे लाइव हो रहा है: "निजी" बीटा, सार्वजनिक बीटा, सार्वजनिक
  • X की अनुमति दें सम्बन्ध समवर्ती सत्र, इसलिए कनेक्ट किए गए उपयोगकर्ता को अभी भी साइट का अच्छा अनुभव है, और दूसरों के पास एक अच्छा माफी संदेश है

मैं नहीं कर सकता:

  • पहले दिन के बाद अधिक सर्वर खरीदें, साइट पर बहुत कम ट्रैफ़िक होगा :)

6
मेरे 15 साल के देव और विमोचन स्थलों में। यह वही है जो हर कोई सोचता है ... हम और बूम पर एक नई साइट डालें! लगभग कभी नहीं होता। आमतौर पर रिवर्स जो आपको उम्मीद से कम मिलता है। लेकिन हेह, बहुत से उपयोगकर्ताओं को एक अच्छी समस्या है;)
चाड अनुदान

1
मुझे वह समस्या थी, और इसके लिए एक खुशहाल जगह नहीं थी ...
गेब्रियल सोलोमन

जवाबों:


11
  1. जितना हो सके कैश करें। गतिशील रूप से बनाए गए किसी भी पृष्ठ को कैश किया जाना चाहिए ताकि उपयोगकर्ताओं को एक स्थिर संस्करण मिलेगा। पृष्ठ घटकों में जो db क्वेरी करता है, उसे भी कैश किया जाना चाहिए।
  2. छवियों और मल्टीमीडिया की सेवा करने के लिए अमेज़ॅन एस 3 जैसी बाहरी सेवा का उपयोग करने का प्रयास करें (या क्या यह उपयोग करने के लिए तैयार है यदि साइट अचानक ट्रैफ़िक की एक टन के साथ हिट हो जाती है)।

धीरे-धीरे लाइव होने से एसओएफ और एसएफ के लिए काम किया जा सकता है क्योंकि जेफ और जोएल के ब्लॉग की लोकप्रियता के कारण उनके पास पहले से ही निर्मित प्रचार और मांग थी। यदि आपके पास पास-पास उपयोगकर्ता-गारंटी नहीं है, जैसा कि उन्होंने किया था, तो धीरे-धीरे जीवित रहना घातक हो सकता है।

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


मेरा मतलब सत्रों से था, लेकिन मेरी उंगलियों का मतलब था कनेक्शन। सही किया।
मैथ्यू

5

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

आप अपनी 'बड़ी छवियों' की सेवा कैसे कर रहे हैं? क्या आप इसे अलग वेब सर्वर प्रक्रिया में विभाजित कर सकते हैं, यहां तक ​​कि एक अलग डोमेन?

क्या आपने अपने सिस्टम का परीक्षण किया है? ApacheBench और घेराबंदी जैसे उपकरण अमूल्य हैं।

क्या आपका सारा विन्यास svn में है? क्या आपकी तैनाती स्वचालित है? आपको इस बात की खुशी होगी कि जब आपको हमारे एप्लिकेशन को दूसरे सर्वर पर रोल करना होगा।


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

1

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

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


1

मुझे यकीन है कि लॉन्च से पहले आपके पास एक मजबूत निगरानी बुनियादी ढांचा था। आपको अपने निर्णयों को आधार बनाने के लिए डेटा की आवश्यकता होती है- इसका मतलब है कि सर्वरों पर सीपीयू लोड को मापना, यह जाँचना कि आपका लोड समान रूप से बक्से में फैला हुआ है, और अगर कुछ पिघलता है, तो आप जानते हैं कि यह कौन सा था।

यह जानने में कि समस्या नाटकीय रूप से प्रतिक्रिया देने में लगने वाले समय को कम कर देगी। मैंने कई साइटों को बिना किसी प्रकार की निगरानी के लॉन्च करने के इरादे से देखा है, इस इरादे से कि इसे बाद में स्थापित किया जाएगा ... आग लगने के बाद। यह गहरा गलत है।


1

आप अमेजन S3 जैसे स्टैटिक कंटेंट की 3rd पार्टी होस्टिंग पर गौर करना चाहते हैं। यह आपके आवेदन के आधार पर भी हो सकता है कि अमेज़ॅन EC2 का उपयोग करके कुछ (जैसे कि मैं buzzword से घृणा करता हूं) भी क्लाउड करूं।


0

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

ड्रीमहॉस्ट एक उदाहरण है:
http://www.dreamhost.com/hosting-vps.html

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