यदि आपको एक वर्चुअल प्राइवेट सर्वर, या एक समर्पित सर्वर की आवश्यकता है, तो आपके पास बहुत सारे विकल्प हैं। और क्योंकि बाजार भरा हुआ है और लगातार विकसित होता है, हर किसी के लिए कोई "सबसे अच्छा" नहीं है - या, कम से कम, हर चीज में कोई "सबसे अच्छा" नहीं है।
कुछ क्लाउड प्रोवाइडर सबसे तेज़ स्टोरेज के साथ वर्चुअल प्राइवेट सर्वर पेश कर सकते हैं, जबकि उनकी CPU पावर सबसे बड़ी नहीं है। दूसरा प्रोवाइडर बाजार पर सर्वश्रेष्ठ CPU प्रदर्शन की पेशकश कर सकता है, लेकिन उनके स्टोरेज डिवाइस धीमे हैं। इसके अलावा, हर कोई अपने प्रतिस्पर्धियों से ग्राहकों को चुराने की कोशिश कर रहा है, धीमे स्टोरेज वाला प्रोवाइडर अपने डिवाइस को अपग्रेड कर सकता है और छह महीने बाद अपने बाजार में सर्वश्रेष्ठ बन सकता है। लेकिन, बेंचमार्क के साथ, आप विभिन्न प्रोवाइडर्स की तुलना कर सकते हैं और चुन सकते हैं कि इस समय आपके लिए सबसे अच्छा क्या है।
बेंचमार्किंग के बारे में कुछ शब्द
आम तौर पर, आप अपने विशिष्ट उपयोग के मामले, हार्डवेयर के साथ बेंचमार्क को अनुकूलित करेंगे, और देखेंगे कि आप अपने डिवाइस से कितना निचोड़ सकते हैं, उनके अधिकतम प्रदर्शन स्तर। हालांकि, इस मामले में आप सामान्य टेस्ट चलाएंगे जो हर बूंद को पूरी तरह से निचोड़ नहीं सकते। लेकिन चूंकि वे एक ही ऑपरेटिंग सिस्टम पर समान पैरामीटर्स के साथ चलेंगे, आपको वास्तविक संख्याएं मिलेंगी जिन्हें आप आसानी से तुलना कर सकते हैं और देख सकते हैं कि कौन सा प्रोवाइडर समान स्थितियों में दूसरे से बेहतर या खराब प्रदर्शन करता है।
पूर्वापेक्षाएँ
- ऑपरेटिंग सिस्टम के रूप में नवीनतम उबंटू स्थिर इमेज का उपयोग करें। लेखन के समय, यह 18.04 LTS है। बाद में आप किसी अन्य ऑपरेटिंग सिस्टम का उपयोग कर सकते हैं। यह आपको एक सामान्य प्रारंभिक बिंदु देगा।
- आप इस ट्यूटोरियल में कुछ कमांड को अनुकूलित कर सकते हैं। यदि आप ऐसा करते हैं, तो सही तुलना करने के लिए सभी सर्वरों पर सटीक समान पैरामीटर्स का उपयोग करना याद रखें।
- प्रत्येक सर्वर पर एक ही बेंचमार्क को दो बार चलाना एक अच्छा विचार है। कुछ क्लाउड प्रोवाइडर असंगत परिणाम प्रदान करते हैं। इस मामले में आपको उन्हें पूरी तरह से बचना चाहिए क्योंकि यह संकेत है कि उनका गेस्ट ऑपरेटिंग सिस्टम आइसोलेशन इतना अच्छा नहीं है, या वे एक ही हार्डवेयर पर बहुत सारे क्लाइंट्स को निचोड़ते हैं।
- ट्यूटोरियल मानता है कि आप रूट के रूप में लॉग इन हैं। यदि आप एक नियमित उपयोगकर्ता के रूप में लॉग इन हैं, तो आपको सभी
aptकमांड को sudo से पूर्वनिर्धारित करना होगा ताकिapt update && apt install fioजैसा कुछsudo apt update && sudo apt install fioबन जाए।
सर्वर स्टोरेज बेंचमार्क करें
सबसे पहले, बेंचमार्किंग सॉफ्टवेयर इंस्टॉल करें।
apt update && apt install fio
यदि आपको कोई संदेश मिलता है कि fio नहीं मिला, तो इसका मतलब है कि आपके पास यूनिवर्स रिपॉजिटरी सक्षम नहीं है। आप इसे apt install software-properties-common && add-apt-repository universe के साथ सक्षम कर सकते हैं और फिर fio इंस्टॉल करने के लिए उपरोक्त कमांड को दोहरा सकते हैं।
एक अनुक्रमिक रीड तब होता है जब डेटा सन्निकट रूप से पढ़ा जाता है। उदाहरण के लिए, जब आप 4GB फ़ाइल को शुरू से अंत तक पढ़ते हैं, तो यह आमतौर पर आपके स्टोरेज डिवाइस और उसके द्वारा वर्तमान में उपयोग किए जा रहे फाइल सिस्टम के साथ संभव अधिकतम रीड स्पीड दिखाएगा। आप इस कमांड के साथ अनुक्रमिक रीड टेस्ट चला सकते हैं:
fio --name=seqread --readwrite=read --direct=1 --ioengine=libaio --bs=1M --size=2000M
यदि यह बीस सेकंड से कम में समाप्त होता है (यह आमतौर पर होता है यदि स्टोरेज SSD पर है), तो आपको अधिक सटीक परिणाम प्राप्त करने के लिए पढ़ी जा रही फ़ाइल का आकार बढ़ाना चाहिए जैसे नीचे की कोड लाइन।
fio --name=seqread --readwrite=read --direct=1 --ioengine=libaio --bs=1M --size=8000M
इस परिणाम में आपको सबसे महत्वपूर्ण संख्या READ: bw पर ध्यान देना चाहिए, जिसे निम्न चित्र में हाइलाइट किया गया है।
अनुक्रमिक लिखने की गति का परीक्षण करने के लिए, चलाएं:
fio --name=seqwrite --readwrite=write --direct=1 --ioengine=libaio --bs=1M --size=2000M
उसी संख्या की जांच करें।
यह जांचने के लिए कि आपका क्लाउड स्टोरेज सबसे तनावपूर्ण परिस्थितियों में कैसा प्रदर्शन करता है, यह टेस्ट चलाएं:
fio --name=randrw --readwrite=randrw --direct=1 --ioengine=libaio --bs=4k --size=200M --group_reporting --numjobs=8
बस ऊपर की तरह, यदि टेस्ट बहुत तेजी से समाप्त होता है तो --size बढ़ाएं। इस मामले में, बैंडविड्थ कम महत्वपूर्ण है - इसे द्वितीयक मानें।
सबसे पहले, read: IOPS और write: IOPS को देखें।
एक वास्तविक दुनिया के उदाहरण के रूप में, सर्वर का स्टोरेज एक बहुत व्यस्त वेबसाइट पर इस तरह जोर दिया जाएगा जिसमें एक बहुत बड़ा डेटाबेस हो जिसे लगातार पढ़ा और लिखा जाना हो।
सर्वर CPU और मेमोरी बेंचमार्क करें
Geekbench के डाउनलोड पेज पर जाएं। नवीनतम Geekbench आर्काइव का लिंक कॉपी करें और इसे wget कमांड में पेस्ट करें। उदाहरण के लिए, लेखन के समय यह लिंक "https://cdn.geekbench.com/Geekbench-4.3.3-Linux.tar.gz" है। निम्न कमांड Geekbench को आपके सर्वर पर डाउनलोड करेगी।
wget https://cdn.geekbench.com/Geekbench-4.3.3-Linux.tar.gz
आर्काइव से फ़ाइलें निकालें।
tar -xzvf *.tar.gz
निकाली गई डायरेक्टरी में बदलें, जो आपके द्वारा पाए गए प्रोग्राम संस्करण के बराबर होगी और पिछली कमांड में आउटपुट हुई थी (ऊपर की छवि की तरह)।
cd Geekbench-4.3.3-Linux
लेखन के समय निष्पादन योग्य फ़ाइल का नाम geekbench4 है, लेकिन यह भविष्य में बदल सकता है। अपनी वर्तमान डायरेक्टरी में फ़ाइलों की सूची बनाएं।
ls
बेंचमार्क चलाएं, यदि आवश्यक हो तो निष्पादन योग्य का नाम बदलें।
./geekbench4
सभी टेस्ट पूरे होने में कुछ समय लगेगा। अंत में आपको एक लिंक दिया जाएगा जहां आप परिणाम देख सकते हैं।
सर्वर के नेटवर्क बैंडविड्थ को बेंचमार्क करें
Speedtest क्लाइंट इंस्टॉल करें।
apt install speedtest-cli
बेंचमार्क चलाएं।
speedtest
आम तौर पर, उपयोगिता को आपके सर्वर के जितना संभव हो उतना करीब एक टेस्ट सर्वर ढूंढना चाहिए। यदि स्थान पहचान विफल होती है, तो आप अपने देश में सर्वरों को मैन्युअली सूचीबद्ध कर सकते हैं जैसे:
speedtest --list | grep -i germany
सूची से नंबर चुनें, और इसे अगली कमांड में पास करें जैसे कोड की निम्न लाइन।
speedtest --server 4462
ध्यान दें कि speedtest द्वारा उपयोग किए जाने वाले कुछ सर्वरों में उस समय बहुत अधिक बैंडविड्थ उपलब्ध नहीं हो सकती है, इसलिए यदि बेंचमार्क ऐसे मान लौटाता है जो बहुत कम लगते हैं, तो एक अलग अपलोड/डाउनलोड सर्वर आज़माएं।
निष्कर्ष
यह CPU, मेमोरी, स्टोरेज और नेटवर्क की बुनियादी बेंचमार्किंग को कवर करता है। प्रत्येक टेस्ट के बाद, आपके पास संख्याएं होती हैं जिनकी तुलना करके आप उस सर्वर को चुन सकते हैं जिसमें आपके विशिष्ट वर्कलोड के लिए सर्वोत्तम मान हैं।