सवाल मेरे वेबसर्वर को कितने अनुरोधों को संभालने में सक्षम होना चाहिए?


चश्मे पर विनिर्देशों में नहीं जा रहा है क्योंकि मुझे पता है कि इसके लिए कोई वास्तविक जवाब नहीं है। लेकिन मैं आज के साथ लोड परीक्षण कर रहा हूँ ab अपाचे में कमांड।

और प्रति सेकंड 70 अनुरोधों की संख्या (100 समवर्ती उपयोगकर्ताओं के साथ 1000 अनुरोध), एक पृष्ठ पर जो 4 अलग-अलग डीबी तालिकाओं से लोड हो रहा है, और डेटा के साथ कुछ हेरफेर कर रहा है। तो यह एक काफी भारी पृष्ठ है।

अब सर्वर के लिए किसी और चीज के लिए उपयोग नहीं किया जाता है और यह उस पर लोड है, क्योंकि यह विकास में है। लेकिन आवेदन कई उपयोगकर्ताओं द्वारा दैनिक उपयोग किया जाएगा।

लेकिन क्या यह पर्याप्त है? या मुझे चिंता भी करनी चाहिए (बस जब तक यह X से अधिक अनुरोध करता है)

मैं सोच रहा हूं कि मुझे चिंता नहीं करनी चाहिए, लेकिन मुझे इस पर कुछ सुझाव चाहिए।


36
2018-05-14 11:56


मूल




जवाब:


प्रति सेकंड 70 अनुरोध 252,000 पेज रेंडर / घंटा की एक घंटे की दर से बाहर काम करते हैं।

यदि आप मानते हैं कि आपकी साइट के लिए औसत ब्राउज़िंग सत्र 10 पेज गहरा है, तो आप 25,000 यूनिक्स / घंटा का समर्थन कर सकते हैं।

आपको शायद इन नंबरों को अपनी अपेक्षित विज़िटर गिनती के विरुद्ध जांचना चाहिए, जो कि व्यवसाय की तरफ से लोगों से उपलब्ध होना चाहिए।

जिन साइटों पर मैं काम करता हूं उनमें से कई दिन अपने दैनिक ट्रैफिक का लगभग 50% प्रत्येक दिन लगभग 3 घंटे की चोटी अवधि में देखते हैं। यदि यह आपकी साइट के मामले में है (यह आपके द्वारा प्रदान की जाने वाली सामग्री और दर्शकों की तरह निर्भर करता है), तो आप लगभग 150,000 की दैनिक अनूठी यात्रा गिनती का समर्थन करने में सक्षम होना चाहिए।

ये बहुत अच्छी संख्या हैं; मुझे लगता है कि आपको ठीक होना चाहिए। अब ऑपोड कैशिंग और डेटाबेस ट्यूनिंग को देखना बुद्धिमानी है, लेकिन याद रखें- समयपूर्व अनुकूलन सभी बुराइयों की जड़ है। साइट पर नजर रखें, हॉटस्पॉट की तलाश करें, और आपके पास होने वाली किसी समस्या के लिए महंगे ऑप्टिमाइज़ेशन प्रयास से पहले यातायात बढ़ने की प्रतीक्षा करें।


40
2018-05-14 14:45



बहुत अच्छा जवाब, ठीक वही जो मैं खोज रहा था। मैंने कोई अनुकूलन नहीं किया है और यह देखने के लिए बेसलाइन नंबर प्राप्त करना चाहता था कि मैं इस समय कहाँ बैठा था। - Ólafur Waage
"यदि आप मानते हैं कि आपकी साइट के लिए औसत ब्राउज़िंग सत्र 10 पृष्ठों को गहरा है, तो आप 25,000 यूनिक्स / घंटा का समर्थन कर सकते हैं" ... इस धारणा के तहत कि प्रत्येक अद्वितीय सत्र के दौरान हर सेकेंड का अनुरोध भेजता है। यदि किसी विज़िटर को अगले क्लिक / अनुरोध से पहले सोचना चाहिए - उदाहरण के लिए 5 सेकंड - आप समांतर सत्रों में अधिक आगंतुकों का समर्थन करने में सक्षम होंगे। - Jochem Schulenklopper
मैं एक कोड परिप्रेक्ष्य से "समयपूर्व अनुकूलन" के बारे में पूरी तरह से सहमत हूं। लेकिन, पूरी तरह से एक दोषपूर्ण डिजाइन का चयन वास्तव में सभी बुराई की जड़ है। एक पुनर्लेखन को छोड़कर किसी भी दोषपूर्ण डिजाइन को दूर नहीं कर सकता है। - Jeff Fischer


मैंने 2 टूल्स का इस्तेमाल किया है प्रदर्शन देखें अतीत में मेरे अपाचे सर्वर का।

एक है Munin, जो अपाचे उदाहरणों, कनेक्शनों की संख्या, उपलब्ध स्मृति, प्रोसेसर उपयोग इत्यादि सहित सभी प्रकार की चीजों को चित्रित करता है - और यह निर्धारित करने में मेरी सहायता करता है कि मैं कब पहुंच रहा हूं खतरनाक क्षेत्र, और क्यों।

दूसरा एक बस है अपाचे सर्वर-स्टेटस पेज (http: // your_server / सर्वर-स्थिति ताज़ा = 10?) जो मुझे किसी भी पल में कितने मुफ्त कनेक्शन उपलब्ध हैं, साथ ही प्रत्येक कनेक्शन की स्थिति देखने देता है।


5
2018-05-14 14:50





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

अधिक प्रदर्शन करने के लिए अधिकांश वेब सर्वर और डेटाबेस इंजनों को ट्यून करने के लिए आप कई चीजें भी कर सकते हैं।


1
2018-05-14 12:17



मैं अनुरोधों की थोड़ी सी भीड़ के लिए तैयार रहना चाहता हूं, उदाहरण के लिए एक बहुत तेज़ पृष्ठ प्रति सेकेंड 110 अनुरोधों को संभाल सकता है। जबकि सर्वर एक खाली पृष्ठ पर 2 9 00 आरपीएस संभाल सकता है। - Ólafur Waage


आप एक टिप्पणी में बताते हैं कि आपका सर्वर एक खाली पृष्ठ पर प्रति सेकंड 2,900 अनुरोधों को संभाल सकता है। यह बहुत दृढ़ता से इंगित करता है कि यह वेबसर्वर नहीं है - यह प्रसंस्करण है।

यदि आप PHP का उपयोग कर रहे हैं, तो एक ओपोड कैचर पर विचार करें एपीसी। यदि डीबी एक बाधा है, memcached आपको भी मदद करेगा।


0
2018-05-14 13:37



यदि 70 आरपीएस पर्याप्त है तो संख्याओं के बारे में विशेष रूप से चिंतित नहीं है। - Ólafur Waage


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


0
2018-05-27 12:39