सर्वर धीमा है: कहाँ से शुरू करें
पाँच मिनट की डायग्नोस्टिक प्रक्रिया: CPU, मेमोरी, डिस्क, नेटवर्क — कुछ कमांड से कैसे पहचानें कि असल में कहाँ बाधा है और आगे क्या करें।
23 अगस्त 2026 को अपडेट किया गया
“सब कुछ धीमा है” कोई निदान नहीं है। केवल चार बॉटलनेक होते हैं: CPU, मेमोरी, डिस्क और नेटवर्क। नीचे दिया गया चेक ऑर्डर पाँच मिनट में इनमें से एक की ओर इशारा करता है।
चरण 1: बड़ी तस्वीर
uptime
free -h
df -h
तीन कमांड तुरंत आधे विकल्पों को बाहर कर देते हैं। अगर औसत लोड आपके टियर के कोर की संख्या से स्पष्ट रूप से अधिक है, तो एक कतार है — देखें Load average। available का शून्य के करीब होना मेमोरी को दर्शाता है। अगर पार्टीशन 100% भरा है, तो और मत देखिए — पढ़ें Out of space।
चरण 2: असल में बॉटलनेक क्या है
vmstat 2 5
औसत कॉलम देखें, पहली पंक्ति को छोड़कर सभी:
- उच्च
usऔरsy, बड़ाr— CPU-बाउंड; - उच्च
wa, बड़ाb— डिस्क-बाउंड; - गैर-शून्य
siऔरso— स्वैपिंग हो रही है, यानी मेमोरी खत्म हो रही है; - उच्च
st— हाइपरवाइज़र द्वारा लिया गया समय, यह एक बाहरी कारण है, सपोर्ट से संपर्क करें।
चरण 3: दोषी खोजें
ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10
iotop -boPan 3 | head -20 # apt install iotop
ss -tn state established | wc -l
लाइव तस्वीर htop या btop में पढ़ना आसान है। D स्टेट वाले प्रोसेस पर ध्यान दें — वे डिस्क पर इंतज़ार कर रहे हैं और लोड बढ़ा रहे हैं।
अगर दोषी आपका एप्लिकेशन है, तो अगला सवाल उसके बारे में है: धीमी डेटाबेस क्वेरी, गायब इंडेक्स, बहुत ज़्यादा वर्कर, डिप्लॉय के बाद एक अनंत लूप। जिस क्षण धीमापन शुरू हुआ उसे लॉग से मिलाएँ:
journalctl --since "1 hour ago" -p warning
चरण 4: इतिहास जाँचें
पैनल /hosting/vds/m/<id> में “Overview” खोलें और पिछले दिन और हफ्ते के ग्राफ़ देखें। तीन आम पैटर्न:
- किसी खास क्षण पर एक कदम ऊपर — कुछ बदला: एक डिप्लॉय, एक अपडेट, एक नया cron जॉब;
- शेड्यूल पर नियमित पीक — एक बैकग्राउंड टास्क; इसे रात में ले जाएँ या
niceऔरioniceसे सीमित करें; - हफ्तों तक सपाट पठार — आप बस अपने टियर से आगे बढ़ चुके हैं।
निष्कर्ष के साथ क्या करें
| बॉटलनेक | त्वरित कार्रवाई | दीर्घकालिक समाधान |
|---|---|---|
| CPU | अतिरिक्त प्रोसेस खोजें और रोकें | अधिक कोर वाला टियर |
| मेमोरी | वर्कर और डेटाबेस बफ़र सीमित करें, स्वैप जोड़ें | अधिक मेमोरी वाला टियर |
| डिस्क | ionice से बैकअप सीमित करें, लॉग छाँटें | ऊँचा टियर: पठार कोर की संख्या के साथ बढ़ता है |
| नेटवर्क | --bwlimit से बैकग्राउंड डाउनलोड सीमित करें | ट्रैफ़िक स्रोत की जाँच करें |
डिस्क पठार की गणना इस तरह होती है: प्रति कोर 60 MB/s राइट, 60 से कम नहीं और 400 से अधिक नहीं, रीड दोगुनी। अगर आप लगातार पठार पर हैं, तो ऊपर न जाने तक डिस्क तेज़ नहीं होगी — देखें Benchmark।
आम गलतियाँ
- तुरंत मशीन रीबूट करना। रीबूट तस्वीर मिटा देता है, और एक घंटे में सब कुछ दोहराएगा। पहले आँकड़े इकट्ठा करें।
- एक ही फ्रेम पर भरोसा करना। htop शुरू करते ही जो स्पाइक दिखे उसका कोई मतलब नहीं — एक मिनट तक देखें।
- भरी मेमोरी को समस्या मानना।
freeनहीं,availableऔर स्वैप देखें। - बिना समझे अपना टियर बदलना। मेमोरी लीक या लूप करती स्क्रिप्ट आपके साथ नए टियर पर चली जाएगी। वापस डाउनग्रेड करना समर्थित नहीं है।
अगर CPU, मेमोरी और डिस्क शांत हैं लेकिन एप्लिकेशन धीमा है, तो बॉटलनेक मशीन के बाहर है: एक धीमा बाहरी API, DNS, या क्लाइंट का नेटवर्क। अपने मनचाहे पते पर
curl -w '%{time_total}\n' -o /dev/null -sजाँचें।