मैं प्रति "असली" डिस्क (धुरी) "यादृच्छिक पढ़ने" प्रदर्शन के हासिल 80MB/एस। यहां मेरे निष्कर्ष हैं।
तो, पहले तय करें कि उपयोगकर्ताओं को कितना ट्रैफिक चाहिए और आपको प्रति सर्वर कितना संग्रहण चाहिए।
आप नीचे दिए गए डिस्क सेटअप सलाह को छोड़ सकते हैं क्योंकि आपके पास पहले से ही RAID5 सेटअप है।
3 * 2TB डिस्क के साथ एक समर्पित 1 जीबीपीएस बैंडविड्थ सर्वर का उदाहरण लें। ओएस और टीएमपी को समर्पित पहली डिस्क रखें। अन्य 2 डिस्क के लिए आप एक सॉफ्टवेयर RAID बना सकते हैं (मेरे लिए, यह ऑन-बोर्ड हार्डवेयर RAID से बेहतर काम करता है)। अन्यथा, आपको अपनी फ़ाइलों को स्वतंत्र डिस्क पर समान रूप से विभाजित करने की आवश्यकता है। आइडिया दोनों डिस्क शेयर को पढ़ने/लिखने के भार को समान रूप से रखना है। सॉफ्टवेयर RAID-0 सबसे अच्छा विकल्प है।
Nginx सम्मेलन वहाँ nginx का उपयोग कर प्रदर्शन के उच्च स्तर को प्राप्त करने के दो तरीके हैं।
उपयोग directio
aio पर;
डायरेक्टियो 512; output_buffers 1 8 मीटर;
"इस विकल्प के लिए आपको रैम की अच्छी मात्रा की आवश्यकता होगी" लगभग 12-16GB रैम की आवश्यकता है।
userland
कब output_buffers 1 2 एम;
blockdev --setra 4096/dev/md0 (या स्वतंत्र डिस्क माउंट)
यह सेटिंग बेहतर प्रणाली फ़ाइल कैश का उपयोग करेगा "सुनिश्चित करें कि आप सॉफ्टवेयर छापे के लिए 4-6MB को माउंट Readahead निर्धारित किया है", और बहुत कम राम की आवश्यकता है। लगभग 8 जीबी रैम की आवश्यकता है।
आम नोट्स:
आप भी उपलब्ध बैंडविड्थ से अधिक कनेक्शन के 100s सक्षम करने के लिए बैंडविड्थ थ्रोटल का उपयोग करना चाहते हो सकता है। प्रत्येक डाउनलोड कनेक्शन 4 एमबी सक्रिय राम का उपयोग करेगा।
limit_rate_after 2m;
limit_rate 100k;
ऊपर समाधान के दोनों एक 3 डिस्क सर्वर पर आसानी से करने के लिए 1k + एक साथ उपयोगकर्ता स्केल करेगा। मान लीजिए कि आपके पास 1 जीबीपीएस बैंडविड्थ है और प्रत्येक कनेक्शन को 1 एमबी/पीएस पर थ्रॉटल किया गया है, पढ़ने के प्रभाव को प्रभावित किए बिना डिस्क लिखने के लिए अतिरिक्त सेटअप की आवश्यकता है।
माउंट पर मुख्य ओएस डिस्क पर सभी अपलोड करें/tmpuploads पर सभी अपलोड करें। यह भारी पठन चल रहा है, जबकि यह कोई अड़चन परेशानी सुनिश्चित करेगा। फिर फ़ाइल को "dd" कमांड का उपयोग करके/tmpuploads से thelag = direct के साथ ले जाएं। जैसे
dd if=/tmpuploads/<myfile> of=/raidmount/uploads/<myfile> oflag=direct bs=8196k
तो कोई सच्चा :(कुछ तुम कभी बनाम JFS? इसके अलावा, कर्नेल-स्रोत पर एक नज़र आप को पता चला गया है होता XFS बनाम ext2-3 पर बड़ी फ़ाइलों को हटाने की कोशिश की है, जो अलग-अलग FS ड्राइवरों खर्च महत्वपूर्ण वर्गों में अलग-अलग समय, वे उच्च आईओ दबाव के तहत _radically_ अलग व्यवहार करते हैं। –
एक बड़ी फ़ाइल को हटाने का उपयोग केस नहीं था। यदि आपके पास संख्याएं हैं, तो उन्हें दिखाएं। मैं जो लिखा वह खड़ा हूं। –
संख्या? "झूठ, झूठ झूठ और फिर बेंचमार्क हैं" मुझे अभी तक किसी मार्केटिंग लक्ष्य के बिना बेंचमार्क देखना है। मैं अपने अनुभव और सार्वजनिक रूप से उपलब्ध लिनक्स कर्नेल स्रोत के बारे में बात कर रहा था। मुद्दा यह है कि मुझे संदेह है कि आप मापनीय मतभेद देखेंगे फिर भी हास्यास्पद है। –