SSD Nodes Learn 🎉 VPS $5.50/महिन्यापासून
मार्गदर्शक Matt Connorद्वारे Matt Connor

स्वस्त VPS ऑफर कशी तपासावी? फसवणूक टाळण्यासाठी मार्गदर्शक

स्वस्त VPS जाहिरातींमधील vCPU ओव्हरसेल, अमर्यादित बँडविड्थच्या अटी आणि रिन्यूअल किमतींचे सत्य जाणून घ्या. सर्व्हर खरेदी केल्यानंतर 30 मिनिटांत कोणती चाचणी करावी, याची सविस्तर माहिती.

स्वस्त VPS ऑफरमध्ये काय वगळले जाते

स्वस्त VPS ऑफर उलट क्रमाने वाचा, कारण त्या पानावर दिलेली किंमत ही सर्वात कमी महत्त्वाची संख्या असते. सर्व्हरची गुणवत्ता कशावर ठरते, हे त्या जाहिरातीत छापलेले नसते: vCPU संख्येमागील ओव्हरसेल रेशो (oversell ratio), "unlimited" या शब्दामागील फेअर युज क्लॉज (fair use clause), पहिल्या कालावधीनंतरची रिन्यूअल किंमत आणि बॅकअप तसेच IPv4 ॲड्रेससाठी वेगळे शुल्क आकारले जाते का, हे महत्त्वाचे असते. हे मार्गदर्शक प्रत्येक ओळीचे विश्लेषण करते आणि पैसे परत मागण्याची संधी असताना सर्व्हरवर कोणती चाचणी (acceptance test) करावी, हे सांगते.

कमी किंमत म्हणजे फसवणूक आहे, असे याचा अर्थ होत नाही. जुने हार्डवेअर, अधिक घनता (denser packing), सेल्फ-सर्व्हिस सपोर्ट आणि कमी प्लॅटफॉर्म रिडंडन्सी यामुळेच कमी किंमत शक्य होते. तुमचे वापरकर्ते शोधण्यापूर्वी तुम्ही कोणता तडजोड स्वीकारला आहे, हे जाणून घेणे हे तुमचे काम आहे. खालील सर्व माहिती Ubuntu 24.04 वर आणि ऑगस्ट 2026 मध्ये उपलब्ध असलेल्या पॅकेजेसवर आधारित आहे.

vCPU म्हणजे कोर (core) नव्हे

vCPU हे सिलिकॉनचे तुकडे नसून ते शेड्युलिंगसाठीचे एक स्लॉट आहेत. KVM (kernel-based virtual machine) वर प्रत्येक vCPU हा होस्टवरील एक थ्रेड असतो आणि जेव्हा वेळ येते तेव्हा होस्ट शेड्युलर त्या थ्रेडला फिजिकल कोरवर कार्यान्वित करतो. एक होस्ट एका फिजिकल कोरवर चार vCPUs विकू शकतो आणि तरीही प्रत्येक गेस्ट सिस्टिम nproc मध्ये पूर्ण संख्या दर्शवते. यादीतील संख्या ही तुम्ही किती मागणी करू शकता याची कमाल मर्यादा आहे, ती तुमच्यासाठी किती संसाधने राखीव आहेत हे सांगत नाही.

ओव्हरसेल रेशो (oversell ratio) म्हणजे होस्ट प्रत्येक फिजिकल कोरवर किती vCPUs विकतो हे होय. 1:1 या गुणोत्तरात कोर पूर्णपणे तुमचा असतो. स्वस्त प्लॅन्समध्ये हे प्रमाण जास्त असते आणि ते सहसा जाहीर केले जात नाही, त्यामुळे ज्या यादीत "dedicated core" किंवा "dedicated vCPU" असे लिहिलेले नाही, ती सेवा 'shared' आहे असे समजावे. बहुतेक सर्व्हर्स बहुतेक वेळ रिकामे (idle) असतात, त्यामुळे शेअर केलेले रिसोर्सेस बहुतेक कामांसाठी चालतात. जेव्हा तुमचा व्यस्त तास हा इतर सर्वांचाही व्यस्त तास असतो, तेव्हा मात्र समस्या निर्माण होतात.

तुम्ही गेस्ट सिस्टिमच्या आतून याचा परिणाम मोजू शकता. जेव्हा तुमचा vCPU चालण्यासाठी तयार असतो आणि होस्ट फिजिकल कोर दुसऱ्या गेस्टला देतो, तेव्हा त्या प्रतीक्षा काळाला 'steal time' म्हणतात: हा वेळ top मधील vmstat आणि %st मधील st कॉलममध्ये दिसतो. Steal time म्हणजे 'noisy neighbour' तुमच्या स्वतःच्या मेट्रिक्समध्ये कसा दिसतो ते होय, आणि या मार्गदर्शिकेतील ही सर्वात उपयुक्त संख्या आहे, कारण यादीमध्ये ती खोटी दाखवता येत नाही.

डेडिकेटेड कोर असला तरी तो इतर मार्गांनी शेअर केलेलाच असतो. मेमरी बँडविड्थ, लास्ट लेव्हल कॅशे आणि स्टोरेज पाथ हे संपूर्ण होस्टचे असतात. "Dedicated vCPU" मुळे विसंगतीचे सर्वात मोठे कारण दूर होते, पण सर्वच नाही.

lscpu वापरून CPU मॉडेल देखील तपासा. दोन प्लॅन्समध्ये "4 vCPU" असे लिहिलेले असू शकते, परंतु त्यांच्या सिंगल थ्रेडचा वेग दुप्पट असू शकतो, कारण एक होस्ट दुसऱ्यापेक्षा अनेक CPU पिढ्या जुना असू शकतो. कमी किमतीत जुने सिलिकॉन हे बिल्ड एजंटसाठी योग्य व्यवहार आहे, परंतु चेकआउट पेजसाठी ते अयोग्य ठरू शकते.

"Unlimited bandwidth" म्हणजे किमान चार भिन्न उत्पादने

ट्रॅफिकचे वर्णन चार प्रकारे केले जाते आणि ते एकमेकांना पर्याय नसतात.

  • मोजमाप केलेली मर्यादा (Metered allowance). यादीमध्ये "दरमहा 2 TB" किंवा तत्सम संख्या दिली जाते. त्यानंतर काय होते हे महत्त्वाचे आहे: अतिरिक्त TB साठी जास्त शुल्क आकारले जाते, की महिना संपेपर्यंत वेग खूप कमी केला जातो. याची माहिती तुम्हाला गरज पडण्यापूर्वीच मिळवा.
  • फेअर युज क्लॉज (fair use clause) असलेले अनमेटर्ड प्लॅन. ट्रॅफिक मोजले जात नाही, परंतु स्वीकारार्ह वापर धोरण (acceptable use policy) मर्यादेचे वर्णन शब्दांत करते. त्या दस्तऐवजात "fair use", "sustained", "excessive" आणि "abuse" हे शब्द शोधा.
  • पोर्ट स्पीड कॅप (Port speed cap). 100 Mbit/s चा पोर्ट भौतिकशास्त्राच्या नियमांनुसार तुम्हाला मर्यादित करतो, मग ट्रॅफिक धोरण काहीही असो.
  • शेवटच्या दोनचे मिश्रण: संथ पोर्टवर अनमेटर्ड ट्रॅफिक. स्वस्त प्लॅन्समध्ये हे सर्वात सामान्य स्वरूप आहे आणि जोपर्यंत तुम्ही पोर्ट स्पीड वाचता, तोपर्यंत ही एक प्रामाणिक ऑफर असते.
ChartTraffic ceiling set by port speed alone, 30 days at full rate
The data behind this chart
[
  {
    "label": "100 Mbit/s",
    "tb_ceiling_30d": 32,
    "hours_per_tb": 22.2
  },
  {
    "label": "200 Mbit/s",
    "tb_ceiling_30d": 65,
    "hours_per_tb": 11.1
  },
  {
    "label": "500 Mbit/s",
    "tb_ceiling_30d": 162,
    "hours_per_tb": 4.4
  },
  {
    "label": "1 Gbit/s",
    "tb_ceiling_30d": 324,
    "hours_per_tb": 2.2
  }
]

पोर्ट स्पीड ही एक कठोर मर्यादा आहे आणि त्याचे गणित सोपे आहे. 100 Mbit/s म्हणजे प्रति सेकंद 12.5 मेगाबाइट्स, त्यामुळे त्या पोर्टवर पूर्ण वेगाने 30 दिवस चालवल्यास सुमारे 32 TB डेटा ट्रान्सफर होतो. 1 Gbit/s पोर्टवर तेच 30 दिवस 324 TB डेटा देतात. येथे TB म्हणजे 10^12 बाइट्स, ज्या युनिटमध्ये होस्ट बिलिंग करतात. हे गणित आहे, मोजमाप नाही आणि कोणताही खरा सर्व्हर महिनाभर पूर्ण क्षमतेने चालत नाही.

दुसरा कॉलम प्लॅन बदलणारा असतो. 100 Mbit/s पोर्टवर एक टेराबाइट डेटा घेण्यासाठी सुमारे 22.2 तास लागतात आणि गिगाबिट पोर्टवर 2.2 तास लागतात. जर तुमचा रिकव्हरी प्लॅन "बॅकअप डाऊनलोड करून पुन्हा सुरू करणे" असा असेल, तर तो आकडा तुमचा रिकव्हरी वेळ आहे.

या स्पेसिफिकेशनच्या ओळीत आणखी दोन तपशील दडलेले असतात. "1 Gbit/s shared" चा अर्थ असा की पोर्ट इतर वापरकर्त्यांसोबत शेअर केलेला आहे, त्यामुळे वरील मर्यादा ही एक आश्वासनापेक्षा सर्वोत्तम परिस्थिती (best case) आहे. तसेच, काही होस्ट एकूण व्हॉल्यूमऐवजी सॅम्पल केलेल्या दराच्या 95 व्या पर्सेंटाइलवर (95th percentile) ट्रॅफिकचे बिल आकारतात, ज्यामुळे स्थिर लोडची किंमत स्पायकी लोडपेक्षा खूप कमी असते.

प्लॅनमध्ये काहीही लिहिले असले तरी, तुमच्या स्वतःच्या वापराचे मोजमाप करा. vnstat इंटरफेस काउंटर वाचते आणि इतिहास जतन करते.

sudo apt install -y vnstat
sudo systemctl enable --now vnstat
vnstat -d
vnstat -m

इन्स्टॉलेशननंतर लगेच, vnstat Not enough data available yet. प्रिंट करते कारण त्याच्या डेटाबेसमध्ये कोणतेही सॅम्पल्स नसतात. दुसऱ्या दिवशी परत या, आणि vnstat -m तुम्हाला मासिक एकूण डेटा देईल, ज्याची तुलना तुम्ही भरत असलेल्या मर्यादेशी करू शकता.

NVMe चा दावा खरा आहे का आणि तो कसा तपासावा?

lsblk -d -o NAME,ROTA,SIZE,MODEL

ROTA चे 0 मूल्य म्हणजे गेस्टला असे सांगण्यात आले आहे की डिव्हाइस रोटेशनल (फिरणारे) नाही. हे मूल्य हायपरवायझरकडून येते, त्यामुळे ते प्रत्यक्ष मीडियाऐवजी होस्ट काय दर्शवतो हे सांगते. MODEL कॉलम सहसा /dev/vda सारख्या virtio डिस्कसाठी रिकामा असतो आणि SCSI जोडलेल्या डिस्कसाठी तो सामान्य QEMU HARDDISK दर्शवतो. तुम्ही व्हर्च्युअल डिस्क पाहत आहात, त्यामुळे तिचे लेबल काहीही सिद्ध करत नाही.

तपासण्यासारखा महत्त्वाचा गुणधर्म म्हणजे लॅटन्सी (latency), आणि खरा फरक स्थानिक NVMe आणि नेटवर्कशी जोडलेले व्हॉल्यूम यांच्यात असतो. नेटवर्क व्हॉल्यूम मोठ्या प्रमाणात सीक्वेंशियल थ्रूपुट दाखवू शकतो, तरीही तो संथ वाटू शकतो. याचे कारण असे की थ्रूपुट अनेक विनंत्या एकाच वेळी सुरू असताना मोजले जाते, तर डेटाबेस एका वेळी एका लहान राईटची वाट पाहत असतो. लॅटन्सी मोजण्यासाठी queue depth 1 वापरा आणि IOPS (input/output operations per second) साठी अधिक खोल queue वापरा.

sudo apt install -y fio
fio --name=lat --filename=fiotest --size=1G --direct=1 --ioengine=libaio --rw=randread --bs=4k --iodepth=1 --numjobs=1 --runtime=60 --time_based --group_reporting
fio --name=iops --filename=fiotest --size=1G --direct=1 --ioengine=libaio --rw=randread --bs=4k --iodepth=32 --numjobs=1 --runtime=60 --time_based --group_reporting
rm -f fiotest

clat percentiles ब्लॉक वाचा आणि विशेषतः 99.00 वी ओळ तपासा. ही ती कंप्लीशन लॅटन्सी आहे जी तुमच्या सर्वात संथ एक टक्के विनंत्यांनी अनुभवली आहे, आणि वापरकर्त्याला हाच अडथळा (stall) जाणवतो. एक ढोबळ मार्गदर्शक म्हणून, स्थानिक NVMe queue depth 1 वर शेकडो मायक्रोसेकंदात उत्तर देते, तर नेटवर्कशी जोडलेले व्हॉल्यूम मिलिसेकंदात उत्तर देते. कोणत्याही एका प्रकाशित आकड्यावर विश्वास ठेवण्याऐवजी तुमच्या स्वतःच्या दोन चाचण्यांची तुलना करा. ही चाचणी दिवसातून तीन वेळा करा, कारण इतर भाडेकरूंशी (tenants) शेअर केलेली डिस्क 03:00 आणि 20:00 वाजता वेगळ्या प्रकारे वागते.

fio आधी 1 GB ची फाईल तयार करते, त्यामुळे डिस्कवर पुरेशी जागा ठेवा. लक्षात ठेवा की ही चाचणी तुमच्या प्लॅननुसार मिळालेली IOPS ची मर्यादा खर्च करते. जेव्हा तुम्हाला फक्त त्वरित रिडींग हवे असते, तेव्हा ioping -c 20 . तुम्हाला एका ओळीत लॅटन्सी देते. बेंचमार्क तेव्हाच मौल्यवान असतो जेव्हा तो पुन्हा करता येतो, त्यामुळे अचूक कमांड लाईन्स आणि आउटपुट तारखेसह जतन करा.

काय समाविष्ट आहे आणि कशासाठी अतिरिक्त शुल्क आकारले जाते

  • IPv4. सामान्यतः एक पत्ता समाविष्ट असतो. काही स्वस्त प्लॅन्समध्ये तुम्हाला NAT (network address translation) च्या मागे असलेला एक शेअर केलेला पत्ता दिला जातो, ज्यामध्ये काही पोर्ट्स फॉरवर्ड केलेले असतात. याचा अर्थ तुम्ही स्वतःच्या सर्व्हरवर पोर्ट 443 वर काहीही चालवू शकत नाही. ip -4 addr show scope global आणि curl -4 https://icanhazip.com वापरून याची खात्री करा. जर दोन्ही ठिकाणी वेगवेगळी उत्तरे येत असतील, तर तुम्ही NAT च्या मागे आहात.
  • IPv6. एक routed /64 तुम्हाला कंटेनर्ससाठी आणि बाहेरून ॲक्सेस करायच्या असलेल्या कोणत्याही गोष्टीसाठी पुरेसे पत्ते देते. एकच /128 पत्ता फक्त आउटबाउंड ट्रॅफिकसाठी वापरता येतो, त्याव्यतिरिक्त त्याचा फारसा उपयोग होत नाही.
  • बॅकअप्स. स्वयंचलित बॅकअप्स सहसा सशुल्क (paid) असतात. स्नॅपशॉट्स अनेकदा मोफत असतात, परंतु स्नॅपशॉट ज्या डिस्कची प्रत घेतो त्याच इन्फ्रास्ट्रक्चरवर राहतो. त्यामुळे तो तुम्हाला तुमच्या स्वतःच्या चुकांपासून वाचवतो, पण होस्ट गमावल्यास त्यापासून संरक्षण देत नाही. प्लॅनमध्ये काहीही समाविष्ट असले तरी, एक प्रत सर्व्हरच्या बाहेर नक्की ठेवा.
  • DDoS हाताळणी. अनेक होस्ट्स व्हॉल्यूमेट्रिक अटॅक (distributed denial of service) झाल्यास तुमचा IP पत्ता ठराविक काळासाठी null route करतात. यामुळे सर्व्हर सुरक्षित राहतो, पण तो इंटरनेटवरून पोहोचण्यायोग्य राहत नाही. null route सुरू होण्यासाठीची मर्यादा (trigger threshold) आणि तो किती काळ टिकतो, याची माहिती विचारून घ्या.
  • सपोर्टची व्याप्ती. अनमॅनेज्ड प्लॅनमध्ये तुम्ही स्वतः सिस्टम ॲडमिनिस्ट्रेटर असता, आणि होस्टची जबाबदारी हायपरवायझर आणि नेटवर्कपुरतीच मर्यादित असते. समान स्पेसिफिकेशन्स असलेल्या दोन प्लॅन्समध्ये हाच सर्वात मोठा वास्तविक खर्चाचा फरक असतो.
  • परवाने आणि पॅनेल्स. कंट्रोल पॅनेल, कमर्शियल ऑपरेटिंग सिस्टम किंवा मेल ॲड-ऑनचा मासिक खर्च सर्व्हरच्या मूळ किमतीपेक्षा जास्त असू शकतो.

तुम्ही कोणत्या प्रकारची व्हर्च्युअलायझेशन (virtualization) खरेदी करत आहात?

systemd-detect-virt

kvm किंवा qemu म्हणजे पूर्ण व्हर्च्युअलायझेशन: यात तुमचा स्वतःचा कर्नल आणि तुम्ही निवडलेले मॉड्यूल्स लोड करण्याची सुविधा असते. lxc, lxc-libvirt किंवा openvz म्हणजे होस्ट कर्नल शेअर करणारे कंटेनर. none म्हणजे बेअर मेटल (bare metal).

शेअर केलेल्या कर्नलमुळे काही मर्यादा येतात. sudo modprobe wireguard अयशस्वी होते आणि ip link add dev wg0 type wireguard मध्ये RTNETLINK answers: Operation not supported त्रुटी येते, कारण कंटेनर होस्टने लोड न केलेले कर्नल मॉड्यूल लोड करू शकत नाही. free -h मध्ये lxcfs उपलब्ध नसल्यास ते तुमच्या मेमरीऐवजी होस्टची मेमरी दाखवू शकते, त्यामुळे मॉनिटरिंगमध्ये चुकीची आकडेवारी दिसते. स्वॅप (swap) अनेकदा इतर कंटेनर्ससोबत शेअर केलेला असतो आणि तुमच्या VPS मध्ये व्हर्च्युअल मशीन्स चालवणे शक्य नसते. कंटेनर प्लॅन्स स्वस्त असण्यामागे हेच कारण आहे, तरीही स्टॅटिक साइट किंवा लहान ॲप्लिकेशनसाठी ते योग्य पर्याय आहेत.

नूतनीकरण शुल्क किती असते?

जाहिरात केलेली किंमत बऱ्याचदा फक्त पहिल्या कालावधीसाठी असते. ऑर्डर पेजवर "renews at" हे शब्द शोधा आणि सवलतीसोबत असलेल्या कालावधीची (term length) नोंद घ्या. एक वर्षासाठी मिळणारी सवलत आणि प्लॅनच्या संपूर्ण कालावधीसाठी असलेली सवलत हे एकाच पहिल्या इनव्हॉइसमागील दोन भिन्न प्रकार आहेत.

रिफंडच्या अटी तितक्याच काळजीपूर्वक वाचा. मनी-बॅक कालावधी किती दिवसांचा आहे, तो ऑर्डरच्या तारखेपासून सुरू होतो की सर्व्हिस प्रोव्हिजनिंगपासून, अतिरिक्त IP addresses सारखे add-ons रिफंडेबल आहेत का आणि वार्षिक आगाऊ पेमेंट pro rata पद्धतीने परत मिळते का, याकडे लक्ष द्या. त्यानंतर नूतनीकरणाच्या तारखेच्या एक आठवडा आधी तुमच्या कॅलेंडरमध्ये रिमाइंडर सेट करा, कारण सेवा सोडण्यासाठी स्वस्त वेळ म्हणजे इनव्हॉइस येण्यापूर्वीची वेळ असते.

नंतर सर्व्हिस बदलणे मोफत नसते. काहीशे GB डेटा हलवणे, कॉन्फिगरेशन पुन्हा तयार करणे, DNS (domain name system) चे time to live (TTL) मूल्य संपेपर्यंत वाट पाहणे आणि मेल सर्व्हरच्या बाबतीत IP reputation पुन्हा मिळवणे, यात पूर्ण शनिवार-रविवार खर्च होऊ शकतो. जेव्हा एखादी बचत आकर्षक वाटते, तेव्हा त्या शनिवार-रविवारच्या मेहनतीचाही विचार करा. एका वर्षात VPS चा प्रत्यक्ष खर्च किती येतो हा आकडा तुलना करण्यासाठी वापरा, पहिल्या महिन्याचे भाडे नाही.

तीस मिनिटांची स्वीकृती चाचणी (Acceptance Test)

कोणतेही मायग्रेशन करण्यापूर्वी आणि रिफंडची मुदत संपण्याआधी, नवीन सर्व्हरवर ही चाचणी घ्या. सर्वप्रथम सर्व्हर सुरक्षित करा: नवीन VPS वरील पहिली दहा मिनिटे या मार्गदर्शिकेत वापरकर्ता खाते, कीज (keys) आणि फायरवॉलची माहिती दिली आहे. त्यानंतर आवश्यक टूल्स इन्स्टॉल करा.

sudo apt update
sudo apt install -y sysbench fio ioping sysstat stress-ng vnstat mtr-tiny curl

चेक 1: त्यांनी मला नक्की काय दिले आहे?

systemd-detect-virt
nproc
lscpu | grep -E 'Model name|MHz|Hypervisor'
free -h
lsblk -d -o NAME,ROTA,SIZE,MODEL
ip -4 addr show scope global
curl -4 -s https://icanhazip.com

तुम्हाला व्हर्च्युअलायझेशनचा प्रकार, CPU मॉडेल आणि तुम्ही खरेदी केलेल्या रॅमच्या (RAM) जवळ जाणारा मेमरी आकडा दिसेल. जर free -h मध्ये खरेदी केलेल्या प्लॅनपेक्षा खूप जास्त रॅम दिसत असेल, तर तो lxcfs नसलेला कंटेनर असू शकतो, बोनस नाही. जर curl कडून मिळालेला सार्वजनिक पत्ता ip -4 addr मध्ये दिसत नसेल, तर याचा अर्थ IPv4 पत्ता शेअर केलेला आहे.

चेक 2: एका थ्रेडचा वेग किती आहे आणि लोड असताना 'steal' किती आहे?

sysbench cpu --cpu-max-prime=20000 --threads=1 run

events per second ओळ नोंदवून ठेवा. सिंगल थ्रेडचा वेग ठरवतो की पेज किती वेगाने रेंडर होईल आणि बिल्ड होण्यासाठी किती वेळ लागेल; स्वस्त प्लॅनमध्ये हाच आकडा सर्वात जास्त बदलतो. आता प्रत्येक vCPU वर लोड द्या आणि शेड्युलर तुम्हाला नक्की काय देतो ते पहा.

stress-ng --cpu 0 --timeout 300s &
vmstat 1 30
mpstat -P ALL 1 10

--cpu 0 प्रत्येक ऑनलाइन CPU साठी एक वर्कर सुरू करतो. vmstat मधील st कॉलम आणि mpstat मधील %steal कडे लक्ष द्या. शेअर केलेल्या प्लॅनवर अधूनमधून सिंगल डिजिटमध्ये 'steal' असणे सामान्य आहे. जर 'steal' काही मिनिटांपर्यंत डबल डिजिटमध्ये असेल, तर याचा अर्थ फिजिकल कोअर्स ओव्हरसबस्क्राईब झाले आहेत आणि तुमचे काम दुसऱ्या भाडेकरूच्या (tenant) कामामागे रांगेत उभे आहे. लोड असताना पुन्हा sysbench चालवा: जर सिंगल थ्रेडचा स्कोअर कमी झाला, तर याचा अर्थ तुमचे vCPUs एकमेकांशी स्पर्धा करत आहेत; सहसा हे एकाच कोअरचे सिबलिंग थ्रेड्स असतात. जर स्कोअर कमी असेल आणि 'steal' जवळजवळ शून्य असेल, तर होस्टने CPU वर मर्यादा (cap) घातली आहे, जी तुम्ही गेस्टच्या आतून थेट पाहू शकत नाही.

चेक 3: क्यू डेप्थ 1 वर डिस्क कशी वागते?

NVMe विभागातील दोन fio कमांड्स चालवा आणि दोन्ही निकाल जतन करा: क्यू डेप्थ 1 वर 99 व्या पर्सेंटाइलची लेटन्सी आणि डेप्थ 32 वर IOPS. त्यानंतर राइट्स (writes) तपासा, कारण अनेक व्हॉल्यूम्स त्या दिशेने खूप संथ असतात.

fio --name=wlat --filename=fiotest --size=1G --direct=1 --ioengine=libaio --rw=randwrite --bs=4k --iodepth=1 --numjobs=1 --runtime=30 --time_based --group_reporting
rm -f fiotest

dd सीक्वेंशियल आकडा हा असा आकडा आहे जो जाहिरातींमध्ये वापरला जातो, पण तो सर्वात कमी उपयुक्त आहे. कारण डेटाबेस किंवा व्यस्त वेब ॲप्लिकेशनचे काम सीक्वेंशियल स्ट्रीमिंग नसते. जर तुम्हाला तुलना करायची असेल तरच हा आकडा गोळा करा. लेटन्सीवर निर्णय घ्या.

चेक 4: तुमच्या वापरकर्त्यांच्या ठिकाणाहून नेटवर्क कसे दिसते?

प्रथम VPS वर काहीतरी मोठी फाईल डाऊनलोड करा.

curl -o /dev/null -w 'in: %{speed_download} bytes/s\n' https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.tar.xz

हे तुमच्या सर्व्हरकडे येणारा एक मार्ग तपासते, दुसरे काहीही नाही. तुमच्या वापरकर्त्यांसाठी महत्त्वाची दिशा म्हणजे त्यांच्याकडून येणारा ट्रॅफिक, म्हणून एक फाईल सर्व्ह करा आणि त्यांच्या जवळच्या मशीनवरून ती डाऊनलोड करा.

fallocate -l 100M /var/tmp/100mb.bin
python3 -m http.server 8080 --directory /var/tmp

त्यानंतर, लॅपटॉपवरून किंवा तुमच्या वापरकर्त्यांच्या जवळ असलेल्या सर्व्हरवरून:

curl -o /dev/null -w 'down: %{speed_download} bytes/s\n' http://YOUR_SERVER_IP:8080/100mb.bin
mtr --report --report-cycles 50 YOUR_SERVER_IP

हे करताना फायरवॉलमध्ये पोर्ट 8080 उघडे असणे आवश्यक आहे, म्हणून काम झाल्यावर ते बंद करा, फाईल डिलीट करा आणि Python सर्व्हर Ctrl+C दाबून थांबवा. mtr आउटपुटमध्ये, शेवटच्या ओळीवरील 'loss' कॉलम वाचा. मधल्या एखाद्या हॉपवर (hop) लॉस दिसणे सामान्य आहे, कारण राउटर्स ICMP (internet control message protocol) रिप्लायना कमी प्राधान्य देतात, तो तुमच्या ट्रॅफिकमधील लॉस नसतो. शेवटच्या ओळीवर दिसणारा लॉस मात्र खरा असतो.

तुमच्या वापरकर्त्यांच्या पीक अवर्समध्ये (peak hour) नेटवर्क चाचणी पुन्हा करा. पहाटे 02:00 वाजता घेतलेली चाचणी फक्त शांत नेटवर्कची माहिती देते.

सर्व चार निकाल तारखेसह एका फाईलमध्ये जतन करा आणि एका महिन्यानंतर पुन्हा चाचणी घ्या. जो प्लॅन पहिल्या दिवशी चांगला होता आणि सहाव्या आठवड्यात संथ झाला, याचा अर्थ होस्टवर लोड वाढला आहे. पहिल्या दिवसाचे आकडे तुमच्याकडे असतील तरच तुम्ही हे खात्रीने सांगू शकाल, अन्यथा तुम्हाला फक्त अंदाज लावावा लागेल.

स्वस्त VPS कधी निवडावा

कमी किंमत म्हणजे काही गोष्टींची तडजोड आणि काही मर्यादा. जुने CPUs, जास्त oversell ratio, संथ network storage, मर्यादित self-service support आणि कमी redundancy यामुळे किंमत कमी असते. तुमच्या कामाच्या गरजेनुसार याची निवड करा.

Development box, CI runner, VPN endpoint, monitoring node, backup target किंवा static site साठी स्वस्त VPS योग्य ठरतो. या सेवांमध्ये थोडा विलंब झाला तरी फारसा फरक पडत नाही. मात्र, जिथे latency महत्त्वाची आहे, तिथे स्वस्त पर्याय निवडणे चुकीचे ठरेल; उदाहरणार्थ, checkout page, interactive API, game server किंवा ज्या database वर इतर सेवा अवलंबून आहेत. वरील चाचणी तुम्हाला तुम्ही घेतलेल्या सर्व्हरची क्षमता सांगते, आणि ती चाचणी तेव्हाच करा जेव्हा त्याचे उत्तर मिळवण्यासाठी कोणतीही किंमत मोजावी लागत नाही.

FAQ

स्वस्त VPS ऑफरमध्ये vCPU चा अर्थ काय असतो?

vCPU म्हणजे तुमच्या गेस्ट ऑपरेटिंग सिस्टमला दिलेला एक व्हर्च्युअल प्रोसेसर. जेव्हा शक्य असेल तेव्हा होस्ट शेड्युलर याला फिजिकल कोअरवरील एका थ्रेडवर चालवतो. जोपर्यंत ऑफरमध्ये "dedicated core" किंवा "dedicated vCPU" असा उल्लेख नसतो, तोपर्यंत हे केवळ CPU वेळ वापरण्याचे एक वाटप असते, राखीव हार्डवेअर नसते. होस्ट कंपन्या त्यांच्याकडे असलेल्या कोअर्सपेक्षा जास्त vCPUs विकतात आणि हे प्रमाण सहसा जाहीर केले जात नाही, त्यामुळे ते स्वतः तपासा. stress-ng --cpu 0 --timeout 300s चालवा आणि vmstat 1 मधील st कॉलमवर लक्ष ठेवा. जर 'steal' वेळ दोन अंकी (double digits) असेल, तर याचा अर्थ तुम्ही अशा कोअर्सची वाट पाहत आहात जे इतर गेस्ट वापरत आहेत.

"Unlimited bandwidth" चा अर्थ खरोखरच अमर्याद असा होतो का?

नाही. याची मर्यादा सहसा प्लॅनच्या वर्णनाबाहेर दोन ठिकाणी असते. 'Acceptable use policy' मध्ये शब्दांत 'fair use' मर्यादा दिलेली असते आणि 'port speed' मुळे डेटा ट्रान्सफरची एक तांत्रिक मर्यादा ठरते. 100 Mbit/s चा पोर्ट 30 दिवसांत जास्तीत जास्त 32 TB डेटा ट्रान्सफर करू शकतो, जरी तो पूर्ण क्षमतेने वापरला तरीही. त्यामुळे पोर्टचा वेग किती आहे ते विचारा आणि पॉलिसीमध्ये "fair use" आणि "sustained" हे शब्द शोधा. त्यानंतर vnstat -m वापरून तुम्ही किती डेटा पाठवत आहात याचा मागोवा घ्या आणि तो दिलेल्या मर्यादेत आहे का ते तपासा.

माझा VPS खरोखर NVMe वापरत आहे हे मी कसे ओळखू?

तुम्ही गेस्ट सिस्टमच्या आतून फिजिकल मीडियाची खात्री करू शकत नाही, कारण lsblk फक्त हायपरवायझर जी माहिती देतो तीच दाखवते: ROTA चे मूल्य 0 आणि एक रिकामी किंवा जेनेरिक मॉडेल स्ट्रिंग. तुम्ही फक्त वर्तणुकीवरून (behaviour) याचा अंदाज घेऊ शकता. --iodepth=1 वर --direct=1 वापरून fio चालवा आणि 99.00 व्या पर्सेंटाइलची 'completion latency' तपासा. लोकल NVMe शेकडो मायक्रोसेकंदात प्रतिसाद देते, तर नेटवर्क-अॅटॅच्ड व्हॉल्यूम मिलिसेकंदात प्रतिसाद देते, जरी त्याचा 'sequential throughput' चांगला दिसत असला तरीही. हे दिवसातून काही वेळा तपासा, कारण शेअर केलेला डिस्क परफॉर्मन्स पहाटे 03:00 वाजता आणि रात्री 20:00 वाजता सारखा नसतो.

रिफंडची मुदत संपण्यापूर्वी मी काय तपासावे?

या क्रमाने चार गोष्टी तपासा. systemd-detect-virt, lscpu आणि free -h वापरून सर्व्हरचे नेमके स्वरूप काय आहे ते पहा. sysbench cpu --cpu-max-prime=20000 --threads=1 run वापरून सिंगल थ्रेडचा वेग तपासा. vmstat 1 ने मॉनिटर करत stress-ng --cpu 0 वापरून पूर्ण लोड असताना 'steal time' तपासा. 'queue depth 1' वर fio वापरून डिस्क लॅटन्सी तपासा. शेवटी, तुमच्या वापरकर्त्यांच्या जवळ असलेल्या मशीनवरून mtr वापरून नेटवर्क तपासा आणि सर्व्हरवरून एक फाईल डाऊनलोड करून वेग तपासा. या सर्व गोष्टींसाठी 30 मिनिटे पुरेशी आहेत. कोणतीही माहिती स्थलांतरित करण्यापूर्वी हे केल्यास, रिफंड मिळवण्यासाठी तुमच्याकडे एक भक्कम आधार असतो.