विंडोज सर्वर 2003 - एक साथ सैकड़ों डाउनलोड करना


0

फिलहाल मेरे पास 4 1TB हार्ड डिस्क के साथ एक एकल सर्वर है, दैनिक मैं अपलोड किए गए 150 एमपी 3 संगीत फ़ाइलों (लगभग 80 एमबी) पर ओवर करता है।

व्यस्त अवधि के दौरान 300 से अधिक लोग इन मिक्स को एक साथ डाउनलोड / डाउनलोड कर रहे हैं, 75% गतिविधि सबसे हाल ही में अपलोड किए गए सामान पर है जो सभी एक हार्ड डिस्क पर है।

हार्ड डिस्क पर मेरा पढ़ा हुआ स्पाईड बहुत कम है 200 की ऐसी उच्च गतिविधि के कारण एक ही हार्ड डिस्क पर एक ही समय में सभी पढ़ता है (एचडीटच के साथ कुछ परीक्षण चलाए)।

इसे हल करने के लिए एक तार्किक समाधान क्या होगा, मेरे पास कुछ विचार हैं:

  • किसी अन्य सर्वर के साथ लोड संतुलन
  • तेज़ हार्ड डिस्क स्थापित करें (इन दिनों सबसे अच्छा क्या है? SCSI / SATA)
  • 4 ड्राइव्स पर सबसे अधिक एक्सेस की गई फ़ाइलों को फैलाएं ताकि यह सभी हाल ही में स्थापित ड्राइव पर सभी सबसे अधिक एक्सेस (सबसे हाल ही में) के बजाय सभी 4 डिस्क के बीच लोड साझा कर रहा है।

स्पष्ट रूप से लोड संतुलन सबसे महंगा विकल्प है, लेकिन क्या यह नाटकीय रूप से मदद करेगा?

इस स्थिति पर कुछ मदद बहुत अच्छी होगी!


2
4 ड्राइव सेटअप कैसे हैं? क्या वे किसी प्रकार के RAID में हैं या वे व्यक्तिगत ड्राइव हैं?
१२:१० से

वे वर्तमान में RAID में सेटअप नहीं कर रहे हैं, बस 4 हार्ड डिस्क। हमारे पास वास्तव में डेटाचेंटर में एक ही स्विच पर एक समान सर्वर है जिसका उपयोग फ़ाइल बैकअप सर्वर के रूप में किया जा रहा है ... प्रति माह अतिरिक्त $ 250 के लिए हमारे प्रदाता ने कहा कि हम अपने प्राथमिक सर्वर के साथ इस लोड-संतुलित प्राप्त कर सकते हैं ...। क्या आपको लगता है कि यह हमारे मुद्दों को ठीक कर सकता है?
पॉल हिनेट

जवाबों:


0

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

  • कच्चे डिस्क प्रदर्शन को बढ़ाने के लिए एक धारीदार RAID सेट में डिस्क को री-जिग करें। इसका मतलब डिस्क से फ़ाइलों का बैकअप लेना, सरणी बनाना, फिर डेटा को स्ट्रिप पर वापस ले जाना होगा। यदि आप अधिक से अधिक दोष सहिष्णुता की खातिर कुछ क्षमता खो सकते हैं, तो एक धारीदार और प्रतिबिंबित सरणी के लिए जाएं जो डिस्क की विफलता से बच जाएगी

  • सर्वर के पेज / अस्थायी फ़ाइल भंडारण के लिए एक समर्पित RAID डिस्क सेट जोड़ें। प्रदर्शन पर ध्यान केंद्रित करने के साथ इसे एक तेज RAID0 सेटअप बनाएं। सुनिश्चित करें कि आपकी ऐप फ़ाइलों को मेमोरी में फेंकती है, जब वे सेवा करते हैं, और यह कि पेज फ़ाइल फ़ाइलों को व्यवस्थित करने के लिए पर्याप्त बड़ी है। यह काफी सस्ता, सीधा सुधार है।

  • सर्वर पर अधिक रैम जोड़ें (यह आजकल अपेक्षाकृत सस्ता सामान है), शुद्ध प्रदर्शन के बजाय बल्क कुल रैम पर ध्यान केंद्रित करें। सर्वर शायद कई अलग-अलग रैम गति को संभाल सकता है - और धीमी गति से सामान प्रति जीबी सस्ता हो सकता है - आपको वास्तव में उच्च रैम प्रदर्शन की आवश्यकता नहीं है, बल्कि आपको बल्क की आवश्यकता है।

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

  • अपने भंडारण को सीमित करें और नवीनतम MP3s से सेवा करने के लिए डिस्क की एक तेज़ पट्टी जोड़ें। एक बार डिमांड ड्रॉप हो जाने पर फाइल को धीमे स्टोरेज पर ले जाएं। इस दृष्टिकोण की व्यवहार्यता नियमित रूप से फ़ाइलों को स्थानांतरित करने में शामिल प्रयास पर निर्भर करती है, और आप इसे अपने ऐप में कितना स्वचालित कर सकते हैं।

  • नवीनतम फ़ाइलों की सेवा के लिए SSD ड्राइव की एक सरणी जोड़ें।

अंतत: आप एक स्टोरेज स्टोरेज सॉल्यूशन को टारगेट कर सकते हैं, जो इस तरह से स्टैक करता है, ताकि सबसे तेजी से धीमा हो सके: - RAM - पेजफाइल - SSD - फास्ट SATA / SAS स्ट्राइप - बल्क डिस्क अरै


मैं इसे एक उत्तर के रूप में स्वीकार करने जा रहा हूं क्योंकि यह समस्या का सबसे अधिक समाधान प्रस्तुत करता है, उनमें से कुछ मैं पहले से ही कर रहा हूं और कुछ मैंने योजना बनाई हैं। धन्यवाद!
पॉल हिनेट

1

आपकी सबसे अच्छी शर्त होगी कि आप किसी तरह का RAID सेटअप प्राप्त करें ताकि लोड एक से अधिक हार्ड ड्राइव में फैले। इसके अलावा यह आपको किसी भी डेटा को खोए बिना RAID सरणी में डिस्क पर विफलता से बचने की अनुमति देगा।

आपके द्वारा 4 डिस्क RAID 5 एरे के आधार पर कहा गया है कि आपके लिए ठीक काम करना चाहिए क्योंकि अधिकांश डेटा रीड होता है।


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

कोई RAID सेटअप दुर्भाग्य से ... हालांकि मुझे लगता है कि हमारे पास होना चाहिए यह उस भंडारण की मात्रा के साथ सेटअप करने के लिए काफी महंगा होगा जिसकी हमें आवश्यकता है। फ़ाइलों को किसी भी प्रकार के स्ट्रीमिंग सर्वर के बिना स्थानीय मशीनों के हार्ड डिस्क से सीधे परोसा जाता है।
पॉल हिनेट

आप कई सर्वरों में विंडोज को लोड-बैलेंस नहीं कर सकते हैं, और मुझे पूरा यकीन है कि आप इसे एनएफएस के साथ भी नहीं कर सकते। RAID जोड़ना आपको क्या करना चाहिए, क्योंकि आप जानते हैं कि समस्या यह है कि सभी IO सबसे हाल ही में लिखे गए डिस्क से आ रहे हैं।
mfinni

लोड-बैलेंस विंडो फाइलर से आपका क्या अभिप्राय है। क्या मैं जो करना चाहता हूं, उसी नेटवर्क पर 2 समान मशीनें चल रही हैं, दोनों 4TB स्टोरेज के साथ हैं जो एक-दूसरे के डेटा को मिरर करती हैं। मुझे लगता है कि यह सर्वर अतिरेक का अतिरिक्त लाभ है और साथ ही 2 सर्वरों के बीच लोड साझा करता है ... क्या मैं यह सोचने में सही हूं?
1930 को पॉल हिनेट

हाँ, यह संभव है। आप दोनों सर्वरों के बीच फ़ाइल शेयर सामग्री को दोहराने के लिए DFS का उपयोग भी कर सकते हैं। उसके बाद एकमात्र प्रश्न यह है कि आप प्रत्येक सर्वर पर क्लाइंट को रीडायरेक्ट करने के लिए कैसे लोड को फैलाने के लिए अनुरोध करते हैं। जब पृष्ठ उत्पन्न होता है तो HTTP लिंक के बीच बारी-बारी से सरल हो सकता है।
क्रिस थोर्प

0

तो आप जो चाहते हैं, वह यह सुनिश्चित करने के लिए एक लोड बैलेंसर है कि दोनों मशीनें अनुरोधों को पूरा कर सकें, यदि आवश्यकता हो, और RAID अपने डिस्क्स पर विश्वसनीयता और बैलेंस फ़ाइल को पढ़ने / लिखने में सुधार कर सकें। फ़ाइलों को सिंक्रनाइज़ करने के लिए ओह और एक rsync प्रकार उपकरण।

इस बात के लिए कि क्या इसके विभिन्न भाग "इसके लायक" हैं, अनुमान लगाने के बजाय आपको यह देखने के लिए प्रदर्शन की निगरानी करने की आवश्यकता है कि अड़चनें कहाँ हैं। यदि डिस्क भंडारण निश्चित रूप से समस्या है तो RAID इसके लायक है। यदि नेटवर्क अनुरोधों की सेवा करना समस्या है तो सर्वर लोड संतुलन आपका मित्र है।


मेरे पास अब सेटअप लोड-बैलेंसिंग है जिसने बहुत मदद की है, मन की शांति प्रदान की है और हमें बहुत अधिक प्रयोग करने योग्य बैंडविड्थ दिया है (वे हर सर्वर के साथ प्रयोग करने योग्य बैंडविड्थ की 100TB प्रदान करते हैं !!), हालांकि मेरा अगला कदम SATA पर IO की अड़चन को दूर करना है! RAID शुरू करके कठिन डिस्क। मुझे लगता है कि यह स्थापित करने की अतिरिक्त लागत के लायक नहीं होगा RAID 10, लेकिन सिर्फ तेज पहुंच के लिए डिस्क स्ट्रिपिंग की पेशकश करें।
पॉल हिनेट

0

सर्वर में आपकी कितनी मेमोरी है? शायद रैमडिस्क का उपयोग करना एक विकल्प है अगर सिस्टम सेवा करने वाली फ़ाइलों के लिए समर्पित है। अन्यथा कैश में फाइल कैश काउंटर जैसे कि कैश - कैश रीड हिट%, और डिस्क काउंटर (विशेष रूप से एवीजी डिस्क कतार लंबाई में) की निगरानी करें, यह आम तौर पर लगभग 3 या उससे कम होना चाहिए।

यहां एक दस्तावेज है जिसमें कुछ अनुकूलन हैं जो मदद कर सकते हैं।


सर्वर में 6GB मेमोरी होती है, हालांकि यह मेमोरी में आने पर भी एक पसीना नहीं तोड़ता है, मेमोरी का उपयोग आमतौर पर 1GB से कम होता है क्योंकि फाइलों को मेमोरी में स्टोर करने के बजाय उपयोगकर्ता को चंक्स में स्ट्रीम किया जाता है। मेरी डिस्क कतार की लंबाई औसत 3-5 के आसपास है।
पॉल हिनेट

यह काफी संभावना है कि आपकी ड्राइव / कंट्रोलर एक अड़चन है, क्या आपने अपने एनआईसी उपयोग की भी जांच की है? यदि आपका एनआईसी ठीक है, तो आप अपने डिस्क एक्सेस को तेज करने के लिए RAID का उपयोग करना चाह सकते हैं, या कैश ऑप्टिमाइज़ेशन या रैमडिस्क के माध्यम से रैम के अपने उपयोग को अनुकूलित करने का प्रयास कर सकते हैं।
डेविड यू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.