"सर्वर धीमा है, RAM दोगुनी कर दो" होस्टिंग की सबसे महँगी आदत है। कभी-कभी यह सही होती है। लेकिन अक्सर मशीन डिस्क का इंतज़ार कर रही होती है, या CPU पूरा भरा होता है, और नई मेमोरी बेकार पड़ी रहती है जबकि बिल दोगुना हो जाता है।
इसलिए यह बात करने से पहले कि 64 GB किसे चाहिए, पहले यह पता करें कि आपके पास असल में किस चीज़ की कमी है। अगर आपको बस अलग-अलग कामों के लिए मेमोरी के आम आँकड़े चाहिए, तो वे हमारी पिछली गाइड VPS को कितनी RAM चाहिए में हैं, भाषा मॉडल का फ़ॉर्मूला भी। यह लेख जाँच के बारे में है: RAM, डिस्क या CPU।
तीन कमांड, दो मिनट
इन्हें धीमे सर्वर पर तब चलाएँ जब वह धीमा हो, सुबह चार बजे नहीं जब कुछ हो ही नहीं रहा:
free -m
vmstat 1 10
cat /proc/pressure/cpu /proc/pressure/memory /proc/pressure/io
बिना किताब के इन्हें ऐसे पढ़ें।
free -m. free कॉलम को छोड़ दें; Linux जान-बूझकर ख़ाली मेमोरी को डिस्क कैश से भरता है। available देखें। अगर 2 GB वाली मशीन पर वहाँ बस कुछ सौ MB हैं और swap का used बढ़ता जा रहा है, तो मेमोरी तंग है।
vmstat 1 10. चार कॉलम ज़्यादातर कहानी बता देते हैं:
| कॉलम | मतलब | इशारा |
|---|---|---|
si / so | हर सेकंड swap में आने-जाने वाले पेज | RAM |
wa | समय का % जब CPU डिस्क का इंतज़ार करता है | डिस्क |
us + sy | समय का % जब CPU काम कर रहा है | CPU |
st | समय का % जब हाइपरवाइज़र ने आपका CPU किसी और को दिया | CPU (vCPU दूसरों के साथ बँटता है) |
कभी-कभार si/so में कुछ ग़ैर-शून्य मान आना सामान्य है। असली संकेत है लगातार, हर सेकंड swap।
/proc/pressure/*. तीनों में सबसे ईमानदार। हर फ़ाइल दिखाती है कि समय के कितने हिस्से में काम उस संसाधन के इंतज़ार में रुके रहे। memory में some avg60=25.00 का मतलब है कि पिछले एक मिनट में किसी चीज़ ने एक चौथाई समय मेमोरी का इंतज़ार किया। जिस फ़ाइल में सबसे बड़े आँकड़े हैं, वही आपकी अड़चन है।
अगर दिक़्क़त डिस्क की है
ऊँचा wa, io पर ज़्यादा दबाव, कम swap। आम वजह कोई डेटाबेस या ढेर सारे लॉग लिखने वाला ऐप होता है जो कैश में समाने से ज़्यादा पढ़ता है।
और यहाँ मोड़ आता है: ज़्यादा RAM इसे ठीक कर सकती है, क्योंकि Linux डिस्क का बड़ा हिस्सा कैश कर लेगा। अगर आपका डेटाबेस 6 GB का है और उसका हॉट हिस्सा 3 GB, तो 2 GB से 8 GB मेमोरी पर जाने से डिस्क की दिक़्क़त ग़ायब हो सकती है। लेकिन अगर डेटाबेस 300 GB का है और हर क्वेरी अलग हिस्से को छूती है, तो कोई समझदार मात्रा में RAM उसे कैश नहीं कर पाएगी। तब बेहतर इंडेक्स, छोटी क्वेरी या डेटा का अलग ढाँचा मदद करता है। यहाँ के सभी प्लान NVMe पर चलते हैं, इसलिए धीमी चीज़ शायद ही कभी डिस्क ख़ुद होती है। आम तौर पर डिस्क तक पहुँचने का तरीक़ा होता है।
अगर दिक़्क़त CPU की है
ऊँचा us+sy, cpu पर दबाव, swap नहीं, डिस्क का इंतज़ार कम। कंप्रेशन, बिल्ड, वीडियो एन्कोडिंग, इमेज प्रोसेसिंग, क्रिप्टोग्राफ़िक गणना। यहाँ ज़्यादा मेमोरी बिल्कुल मदद नहीं करती।
st पर भी नज़र रखें। VPS पर vCPU किसी फ़िज़िकल कोर के समय का हिस्सा है, पूरा कोर नहीं: प्लान में लिखी संख्या छोटे उछालों के लिए ऊपरी सीमा है, और लंबा पूरा लोड सीमित किया जा सकता है ताकि मशीन पर सबके साथ इंसाफ़ हो। अगर आपके काम को घंटों तक सारे कोर 100% पर चाहिए, तो यह काम का ही सवाल है, और यह बात हम बड़ा प्लान ख़रीदने के बाद नहीं, अभी कहना बेहतर समझते हैं।
अगर सच में RAM ही है
लगातार swap, बढ़ता मेमोरी दबाव, dmesg में OOM killer। अब सवाल है: कितनी।
2 GB काफ़ी है, अक्सर सालों तक: एक या कुछ बॉट, छोटा API, VPN, Nginx के पीछे स्टैटिक साइट, cron पर कुछ स्क्रेपर, एक मॉनिटरिंग एजेंट। Micro NAT पर $5 महीने में या अपने IPv4 के साथ $10 में 2 vCPU, 2 GB और 25 GB देता है।
4–8 GB आरामदायक बीच का रास्ता है: डेटाबेस के साथ एक वेब ऐप, छोटा सर्च इंडेक्स, हेडलेस ब्राउज़र ऑटोमेशन, साथ-साथ चलते दो-तीन एजेंट।
32–64 GB उस डेटा के लिए है जिसे मेमोरी में ही रहना है:
- ऐसा डेटाबेस जिसका वर्किंग सेट दसियों GB का है, ताकि कैश सच में हॉट डेटा पकड़े रहे;
- बड़ा इन-मेमोरी कैश या कतार, जो सब कुछ धीमा किए बिना डिस्क पर नहीं जा सकती;
- लाखों टुकड़ों में खोज के लिए वेक्टर इंडेक्स (असली आँकड़े बड़े पैमाने पर अपना RAG में हैं);
- मध्यम आकार के भाषा मॉडल का CPU पर इन्फ़रेंस, जहाँ वेट्स RAM में समाने चाहिए;
- एकीकरण: दस सेवाएँ जो पहले दस छोटे सर्वरों पर रहती थीं।
Pro-64 इसी के लिए है: 12 vCPU, 64 GB RAM, 600 GB NVMe और डेडिकेटेड IPv4, $70 महीना। बीच की सीढ़ियाँ हैं $40 वाला Pro-32 और $55 वाला Pro-48; ऊपर $90 वाला Pro-80। Pro प्लान के लिए लोकेशन की उपलब्धता ऑर्डर करते समय दिखती है।
जहाँ बड़ी मशीन ठीक नहीं
तीन हालात जिनमें 64 GB ग़लत जवाब है, भले ही आपकी जेब इजाज़त दे।
GPU वाला काम। इनमें से किसी प्लान में GPU नहीं है। अगर आपके मॉडल को ट्रेनिंग या तेज़ इन्फ़रेंस के लिए GPU चाहिए, तो ढेर सारी RAM वाली CPU मशीन उसे चला तो देगी, पर धीरे, और आप धैर्य की क़ीमत चुकाएँगे।
लंबे समय तक पूरे CPU वाले काम। जैसा ऊपर कहा: vCPU उछालों के लिए क्षमता है। बारह vCPU दिन-रात 100% पर चलाना वह काम नहीं जिसके लिए VPS बना है।
और "शायद ज़रूरत पड़े"। अगर तीनों कमांड मेमोरी पर दबाव नहीं दिखाते, तो अतिरिक्त 60 GB उन फ़ाइलों का कैश बनेंगे जिन्हें आप पढ़ते ही नहीं। छोटे से शुरू करें। उसी नेटवर्क टाइप के बड़े प्लान पर जाने से vCPU, RAM और डिस्क वहीं, एक रीबूट में बढ़ जाते हैं, जैसा प्लान बदलना में बताया गया है। वहीं छोटा करना संभव नहीं, इसलिए ज़रूरत से बड़ा ख़रीदने की असली क़ीमत है: छोटा करने के लिए नए सर्वर पर जाना होगा, और बिना डाउनटाइम VPS शिफ़्ट करना ऐसा काम है जिससे बचना ही बेहतर।
अगर आप अलग-अलग प्रदाताओं के प्लान की तुलना कर रहे हैं, तो VPS स्पेसिफ़िकेशन कैसे पढ़ें बताता है कि vCPU, डिस्क और पोर्ट के आँकड़े असल में क्या वादा करते हैं।
टिप्पणियाँ
अभी तक कोई टिप्पणी नहीं। पहले बनें।