చౌకైన VPS ఆఫర్లను ఎలా విశ్లేషించాలి?
చౌకైన VPS ఆఫర్లలో దాగి ఉన్న vCPU ఓవర్సెల్లింగ్, అపరిమిత బ్యాండ్విడ్త్ నిబంధనలు మరియు రెన్యూవల్ ధరల గురించి తెలుసుకోండి. సర్వర్ కొన్న 30 నిమిషాల్లోనే చేయాల్సిన పరీక్షలు ఇక్కడ ఉన్నాయి.
తక్కువ ధర VPS ఆఫర్లలో దాగి ఉన్న విషయాలు
తక్కువ ధర VPS ఆఫర్ను వెనుక నుండి చదవండి, ఎందుకంటే ఆ పేజీలో ధర అనేది అతి తక్కువ ఉపయోగపడే సంఖ్య. ఆ సర్వర్ బాగుందో లేదో నిర్ణయించేది ఆ ప్రకటనలో ముద్రించని అంశాలే: vCPU కౌంట్ వెనుక ఉన్న oversell నిష్పత్తి, "unlimited" అనే పదం వెనుక ఉన్న fair use నిబంధన, మొదటి కాలపరిమితి తర్వాత ఉండే renewal ధర, మరియు backups అలాగే IPv4 అడ్రస్ కోసం అదనంగా ఛార్జ్ చేస్తారా లేదా అనేది. ఈ గైడ్ ఒక లిస్టింగ్ను లైన్ బై లైన్ విశ్లేషిస్తుంది, ఆపై మీరు డబ్బు వాపసు కోరడానికి వీలున్న సమయంలోనే ఆ సర్వర్పై నిర్వహించాల్సిన acceptance test గురించి వివరిస్తుంది.
తక్కువ ధర అంటే మోసం అని దీని అర్థం కాదు. పాత హార్డ్వేర్, ఎక్కువ సాంద్రత కలిగిన ప్యాకింగ్, సెల్ఫ్-సర్వీస్ సపోర్ట్ మరియు తక్కువ ప్లాట్ఫారమ్ రిడెండెన్సీ వంటి కారణాల వల్లే తక్కువ ధర సాధ్యమవుతుంది. మీ వినియోగదారులు సమస్యలను గుర్తించేలోపే, మీరు ఏ విధమైన రాజీని అంగీకరించారో తెలుసుకోవడం మీ బాధ్యత. కింద ఉన్నవన్నీ Ubuntu 24.04 పై, ఆగస్టు 2026 నాటికి అందుబాటులో ఉన్న ప్యాకేజీలతో పనిచేస్తాయి.
vCPU అంటే కోర్ కాదు
vCPU అనేది సిలికాన్ ముక్క కాదు, అది ఒక షెడ్యూలింగ్ స్లాట్ మాత్రమే. KVM (kernel-based virtual machine) లో ప్రతి vCPU హోస్ట్ మీద ఒక thread లాంటిది. హోస్ట్ షెడ్యూలర్ తన వంతు వచ్చినప్పుడు ఆ thread ను ఒక ఫిజికల్ కోర్ మీద ఉంచుతుంది. ఒక హోస్ట్ ఒక ఫిజికల్ కోర్ మీద నాలుగు vCPUలను అమ్మవచ్చు, అయినా ప్రతి గెస్ట్ తన nproc లో పూర్తి సంఖ్యను చూపిస్తుంది. లిస్టింగ్లో ఉన్న సంఖ్య మీరు అడగగలిగే గరిష్ట పరిమితి మాత్రమే, అది మీకు ఎంత కేటాయించబడిందో చెప్పదు.
ఒక ఫిజికల్ కోర్ మీద హోస్ట్ ఎన్ని vCPUలను అమ్ముతుందో దానిని oversell ratio అంటారు. 1:1 నిష్పత్తిలో ఉంటే ఆ కోర్ పూర్తిగా మీదే. తక్కువ ధర ప్లాన్లలో ఈ నిష్పత్తి ఎక్కువగా ఉంటుంది, ఇది దాదాపు ఎక్కడా ప్రచురించబడదు. కాబట్టి "dedicated core" లేదా "dedicated vCPU" అని లేని ఏ లిస్టింగ్నైనా shared గానే పరిగణించాలి. చాలా సర్వర్లు ఎక్కువ సమయం ఖాళీగా ఉంటాయి కాబట్టి, చాలా పనులకు shared సరిపోతుంది. కానీ మీ బిజీ అవర్ ఇతరుల బిజీ అవర్తో కలిసినప్పుడు ఇది పని చేయదు.
గెస్ట్ లోపల నుండి మీరు దీని ప్రభావాన్ని కొలవవచ్చు. మీ vCPU రన్ అవ్వడానికి సిద్ధంగా ఉన్నప్పుడు, హోస్ట్ ఆ ఫిజికల్ కోర్ను మరొక గెస్ట్కు ఇస్తే, ఆ వేచి ఉండే సమయాన్ని steal time అంటారు: ఇది vmstat లోని st కాలమ్ మరియు top లోని %st లో కనిపిస్తుంది. Steal time అనేది మీ మెట్రిక్స్లో నాయిసీ నెయిబర్ ఎలా కనిపిస్తాడో తెలియజేస్తుంది, మరియు ఈ గైడ్లో ఇదే అత్యంత ఉపయోగకరమైన సంఖ్య, ఎందుకంటే లిస్టింగ్ దీనిని తప్పుగా చూపించలేదు.
Dedicated core ఉన్నప్పటికీ ఇతర మార్గాల్లో అది షేర్ చేయబడే ఉంటుంది. మెమరీ బ్యాండ్విడ్త్, లాస్ట్ లెవల్ క్యాష్ మరియు స్టోరేజ్ పాత్ మొత్తం హోస్ట్కు చెందినవి. "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 పోర్ట్ భౌతిక పరిమితులను విధిస్తుంది, ట్రాఫిక్ పాలసీ ఏమి చెప్పినా ఇది మారదు.
- పైన పేర్కొన్న రెండింటి కలయిక: నెమ్మదిగా ఉండే పోర్ట్పై అన్మీటర్డ్ ట్రాఫిక్. చౌకైన ప్లాన్లలో ఇది సర్వసాధారణం, మరియు మీరు పోర్ట్ స్పీడ్ను సరిగ్గా చదివినంత వరకు ఇది నిజాయితీ గల ఆఫర్.
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 డేటా బదిలీ అవుతుంది. అదే 30 రోజులు 1 Gbit/s పోర్ట్పై అయితే 324 TB అవుతుంది. ఇక్కడ TB అంటే 10^12 బైట్లు, హోస్టింగ్ సంస్థలు ఇదే యూనిట్లో బిల్లు వేస్తాయి. ఇది కేవలం గణితం మాత్రమే, కొలత కాదు; ఏ నిజమైన సర్వర్ కూడా నెల మొత్తం పూర్తి వేగంతో నడవదు.
రెండవ కాలమ్ ప్లాన్లను మార్చేదిగా ఉంటుంది. 100 Mbit/s పోర్ట్పై ఒక టెరాబైట్ డేటాను తరలించడానికి సుమారు 22.2 గంటలు పడుతుంది, అదే గిగాబిట్ పోర్ట్పై అయితే 2.2 గంటలు పడుతుంది. మీ రికవరీ ప్లాన్ "బ్యాకప్ను డౌన్లోడ్ చేసి మళ్ళీ ప్రారంభించడం" అయితే, ఆ సంఖ్యే మీ రికవరీ సమయం అవుతుంది.
ఈ స్పెసిఫికేషన్ లైన్లో మరో రెండు వివరాలు దాగి ఉన్నాయి. "1 Gbit/s shared" అంటే ఆ పోర్ట్ ఇతర అతిథులతో (guests) పంచుకోబడుతుందని అర్థం, కాబట్టి పైన పేర్కొన్న పరిమితి ఒక వాగ్దానం కంటే ఉత్తమమైన పరిస్థితి (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,MODELROTA విలువ 0 ఉండటం అంటే, ఆ పరికరం రొటేషనల్ (rotational) కాదని గెస్ట్ (guest) కు తెలియజేయబడిందని అర్థం. ఈ విలువ హైపర్వైజర్ (hypervisor) నుండి వస్తుంది, కాబట్టి ఇది కింద ఉన్న మీడియా గురించి కాకుండా, హోస్ట్ (host) దేనిని ప్రకటిస్తుందో దానిని వివరిస్తుంది. MODEL కాలమ్ సాధారణంగా /dev/vda వంటి virtio డిస్క్ కోసం ఖాళీగా ఉంటుంది, మరియు SCSI ద్వారా అనుసంధానించబడిన వాటికి సాధారణ QEMU HARDDISK అని చూపిస్తుంది. మీరు చూస్తున్నది వర్చువల్ డిస్క్, కాబట్టి దాని లేబుల్ దేనినీ నిరూపించదు.
తనిఖీ చేయవలసిన ముఖ్యమైన అంశం లేటెన్సీ (latency), మరియు అసలైన వ్యత్యాసం లోకల్ NVMe మరియు నెట్వర్క్ ద్వారా అనుసంధానించబడిన వాల్యూమ్ మధ్య ఉంటుంది. నెట్వర్క్ వాల్యూమ్ ఎక్కువ సీక్వెన్షియల్ త్రూపుట్ (sequential throughput) చూపించినప్పటికీ నెమ్మదిగా అనిపించవచ్చు, ఎందుకంటే త్రూపుట్ అనేది అనేక అభ్యర్థనలు జరుగుతున్నప్పుడు కొలుస్తారు, కానీ డేటాబేస్ ఒక సమయంలో ఒక చిన్న రైట్ (write) కోసం వేచి ఉంటుంది. లేటెన్సీ కోసం క్యూ డెప్త్ (queue depth) 1 వద్ద, మరియు IOPS (input/output operations per second) కోసం ఎక్కువ క్యూ డెప్త్ వద్ద కొలవండి.
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 fiotestclat percentiles బ్లాక్ను చదవండి, ముఖ్యంగా 99.00వ లైన్ను చూడండి. ఇది మీ అభ్యర్థనలలో అత్యంత నెమ్మదిగా ఉన్న ఒక శాతం అభ్యర్థనలు ఎదుర్కొన్న కంప్లీషన్ లేటెన్సీ (completion latency), మరియు వినియోగదారుడు అనుభవించే స్టాల్ (stall) ఇదే. ఒక స్థూల అంచనా ప్రకారం, క్యూ డెప్త్ 1 వద్ద లోకల్ NVMe వందల మైక్రోసెకన్లలో స్పందిస్తుంది, మరియు నెట్వర్క్ వాల్యూమ్ మిల్లీసెకన్లలో స్పందిస్తుంది. ఏదైనా ప్రచురించబడిన గణాంకాలను నమ్మే బదులు, మీ స్వంత రెండు రన్లను పోల్చుకోండి. రోజులో మూడు సార్లు ఈ పరీక్షను నిర్వహించండి, ఎందుకంటే ఇతర వినియోగదారులతో పంచుకున్న డిస్క్ 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 అడ్రస్ కేవలం అవుట్బౌండ్ ట్రాఫిక్ కోసం మాత్రమే సరిపోతుంది, అంతకు మించి ఉపయోగపడదు.
- Backups. ఆటోమేటిక్ బ్యాకప్లు సాధారణంగా అదనపు రుసుముతో కూడిన సేవలు. Snapshots తరచుగా ఉచితంగా లభిస్తాయి, కానీ snapshot అనేది అది కాపీ చేసిన డిస్క్ ఉన్న అదే ఇన్ఫ్రాస్ట్రక్చర్పైనే ఉంటుంది. కాబట్టి, ఇది మీ పొరపాట్ల నుండి రక్షణ ఇస్తుంది కానీ హోస్ట్ సర్వర్ విఫలమైతే డేటాను కాపాడలేదు. ప్లాన్లో ఏమున్నా సరే, ఒక కాపీని సర్వర్ వెలుపల భద్రపరచుకోండి.
- DDoS handling. చాలా హోస్టింగ్ సంస్థలు volumetric attack (distributed denial of service) జరిగినప్పుడు, మీ IP అడ్రస్ను నిర్ణీత సమయం వరకు null route చేస్తాయి. దీనివల్ల సర్వర్ సురక్షితంగానే ఉంటుంది, కానీ ఇంటర్నెట్ నుండి సర్వర్ అందుబాటులో ఉండదు. ఈ null route ఎప్పుడు యాక్టివేట్ అవుతుంది (trigger threshold) మరియు ఎంత సమయం పాటు ఉంటుంది అనే వివరాలను అడిగి తెలుసుకోండి.
- Support scope. అన్మేనేజ్డ్ ప్లాన్లో మీరే సిస్టమ్ అడ్మినిస్ట్రేటర్గా వ్యవహరించాలి, హోస్ట్ బాధ్యత కేవలం హైపర్వైజర్ మరియు నెట్వర్క్ వరకు మాత్రమే ఉంటుంది. ఒకే విధమైన స్పెసిఫికేషన్లు ఉన్న రెండు ప్లాన్ల మధ్య ధరలో ఉండే ప్రధాన వ్యత్యాసం ఇదే.
- Licences and panels. కంట్రోల్ ప్యానెల్, కమర్షియల్ ఆపరేటింగ్ సిస్టమ్ లేదా మెయిల్ యాడ్-ఆన్ వంటి వాటికి సర్వర్ ధర కంటే ఎక్కువ నెలవారీ ఖర్చు కావచ్చు.
మీరు ఏ రకమైన వర్చువలైజేషన్ను కొనుగోలు చేస్తున్నారు?
systemd-detect-virtkvm లేదా 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" అనే పదాల కోసం మరియు డిస్కౌంట్కు సంబంధించిన కాలపరిమితి కోసం చూడండి. ఒక సంవత్సరం పాటు ఉండే డిస్కౌంట్ మరియు ప్లాన్ ఉన్నంత కాలం ఉండే డిస్కౌంట్, ఒకే మొదటి ఇన్వాయిస్ వెనుక ఉన్న వేర్వేరు ఉత్పత్తులు.
రీఫండ్ నిబంధనలను కూడా అంతే జాగ్రత్తగా చదవండి. మనీ-బ్యాక్ విండో ఎంతకాలం ఉంటుందో, అది ఆర్డర్ చేసిన సమయం నుండి మొదలవుతుందా లేదా ప్రొవిజనింగ్ సమయం నుండి మొదలవుతుందా, అదనపు IP addresses వంటి యాడ్-ఆన్లు రీఫండ్ చేయదగినవా, మరియు వార్షిక ముందస్తు చెల్లింపులు pro rata పద్ధతిలో తిరిగి వస్తాయా లేదా అనేది గమనించండి. ఆ తర్వాత, నవీకరణ తేదీకి ఒక వారం ముందు మీ క్యాలెండర్లో రిమైండర్ను సెట్ చేసుకోండి, ఎందుకంటే ఇన్వాయిస్ రాకముందే సేవను వదిలివేయడం ఆర్థికంగా లాభదాయకం.
తర్వాత మారడం కూడా ఉచితం కాదు. కొన్ని వందల గిగాబైట్ల డేటాను తరలించడం, కాన్ఫిగరేషన్ను మళ్లీ నిర్మించడం, DNS (domain name system) time to live విలువలు పూర్తయ్యే వరకు వేచి ఉండటం మరియు మెయిల్ సర్వర్ అయితే IP reputation ను మళ్లీ నిర్మించడం వంటి పనులకు ఒక పూర్తి వారాంతం పడుతుంది. పొదుపు ఆకర్షణీయంగా అనిపించినప్పుడు ఆ వారాంతపు సమయాన్ని కూడా లెక్కలోకి తీసుకోండి. ఒక VPS కి ఏడాదికి అయ్యే అసలు ఖర్చు అనేది మీరు పోల్చాల్సిన సంఖ్య, మొదటి నెల ధర కాదు.
ముప్పై నిమిషాల అంగీకార పరీక్ష (acceptance test)
ఏదైనా మైగ్రేట్ చేసే ముందు, రీఫండ్ విండో అందుబాటులో ఉన్నప్పుడే కొత్త సర్వర్లో దీన్ని రన్ చేయండి. ముందుగా దీన్ని సురక్షితం చేయండి: కొత్త VPSలో మొదటి పది నిమిషాలు అనే గైడ్ యూజర్ అకౌంట్, కీలు మరియు ఫైర్వాల్ గురించి వివరిస్తుంది. ఆ తర్వాత అవసరమైన టూల్స్ను ఇన్స్టాల్ చేయండి.
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 runevents 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 ఉంటే, ఫిజికల్ కోర్లు ఓవర్సబ్స్క్రైబ్ చేయబడ్డాయని అర్థం, అంటే మీ పని మరొక యూజర్ పని వెనుక క్యూలో ఉంది. లోడ్ ఉన్నప్పుడే మళ్ళీ sysbench రన్ చేయండి: సింగిల్ త్రెడ్ స్కోర్ పడిపోతే, మీ vCPUలు ఒకదానితో ఒకటి పోటీ పడుతున్నాయని అర్థం; సాధారణంగా ఇవి వేర్వేరు కోర్లు కాకుండా ఒకే కోర్లోని సిబ్లింగ్ త్రెడ్స్ అని దీని అర్థం. steal సున్నా దగ్గర ఉండి స్కోర్ తక్కువగా ఉంటే, హోస్ట్ ద్వారా CPU క్యాప్ విధించబడిందని అర్థం, ఇది గెస్ట్ లోపల నుంచి నేరుగా కనిపించదు.
చెక్ 3: క్యూ డెప్త్ 1 వద్ద డిస్క్ ఎలా పనిచేస్తుంది?
NVMe సెక్షన్లోని రెండు fio కమాండ్లను రన్ చేయండి మరియు రెండింటి ఫలితాలను ఉంచుకోండి: క్యూ డెప్త్ 1 వద్ద 99th పర్సంటైల్ లేటెన్సీ మరియు డెప్త్ 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 fiotestdd సీక్వెన్షియల్ ఫిగర్ అనేది కంపెనీలు తమ ప్రకటనల్లో చూపించే నంబర్, కానీ ఇది చాలా తక్కువ ఉపయోగకరమైనది, ఎందుకంటే డేటాబేస్ లేదా బిజీ వెబ్ అప్లికేషన్లు చేసే పని సీక్వెన్షియల్ స్ట్రీమింగ్ కాదు. పోలిక కోసం కావాలంటే దీన్ని సేకరించండి. లేటెన్సీని బట్టి నిర్ణయం తీసుకోండి.
చెక్ 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 ఫైర్వాల్లో ఓపెన్ అయి ఉండాలి, కాబట్టి పని పూర్తయ్యాక దాన్ని క్లోజ్ చేసి, ఫైల్ను డిలీట్ చేయండి మరియు Ctrl+C తో Python సర్వర్ను ఆపండి. mtr అవుట్పుట్లో, చివరి లైన్లోని లాస్ (loss) కాలమ్ను చదవండి. మధ్యలో ఉన్న హోప్లలో లాస్ ఉండి, డెస్టినేషన్ వద్ద లేకపోతే అది సాధారణం, ఎందుకంటే రౌటర్లు ICMP (internet control message protocol) రిప్లైలకు తక్కువ ప్రాధాన్యత ఇస్తాయి, అది మీ ట్రాఫిక్లో లాస్ కాదు. చివరి లైన్లో లాస్ ఉంటే అది నిజమైన సమస్య.
మీ యూజర్ల పీక్ అవర్స్ సమయంలో నెట్వర్క్ టెస్ట్ను మళ్ళీ చేయండి. 02:00 గంటలకు తీసిన ఒక శాంపిల్ నెట్వర్క్ ప్రశాంతంగా ఉందని మాత్రమే చెబుతుంది.
నాలుగు ఫలితాలను తేదీతో ఒక ఫైల్లో సేవ్ చేయండి, ఆపై ఒక నెల తర్వాత మళ్ళీ రన్ చేయండి. మొదటి రోజు బాగుండి, ఆరో వారంలో నెమ్మదించిన ప్లాన్ అంటే హోస్ట్ సర్వర్ నిండిపోయిందని అర్థం. మొదటి రోజు నంబర్లు మీ దగ్గర ఉంటేనే, సమస్యను గుర్తించడానికి మరియు ఊహించడానికి మధ్య తేడా తెలుస్తుంది.
తక్కువ ధర కలిగిన VPS ఎప్పుడు సరైన ఎంపిక అవుతుంది
తక్కువ ధర అనేది కొన్ని వాస్తవాలను కొనుగోలు చేస్తుంది మరియు కొన్ని పరిమితులను కలిగి ఉంటుంది. పాత CPUs, ఎక్కువ oversell నిష్పత్తి, నెమ్మదైన network storage, self-service support మరియు తక్కువ redundancy వంటి కారణాల వల్ల ధర తక్కువగా ఉంటుంది. వీటిని మీ పని అవసరాలకు అనుగుణంగా ఎంచుకోవాలి.
Development box, CI runner, VPN endpoint, monitoring node, backup target లేదా static site వంటి వాటికి తక్కువ ధర కలిగిన VPS సరైనది. వీటిలో ఏదైనా ఒక నిమిషం నెమ్మదిగా పనిచేసినా పెద్దగా నష్టం ఉండదు. కానీ, latency (జాప్యం) ప్రధానమైన చోట తక్కువ ధర కలిగిన VPS వాడటం మంచిది కాదు: ఉదాహరణకు checkout page, interactive API, game server లేదా మరొక సేవ ఆధారపడి ఉన్న database వంటివి. పైన పేర్కొన్న పరీక్ష మీరు కొనుగోలు చేసిన VPS సామర్థ్యాన్ని తెలియజేస్తుంది, మరియు ఎటువంటి ఖర్చు లేకుండానే మీరు ఈ విషయాన్ని తెలుసుకోవచ్చు.
FAQ
చౌకైన VPS ఆఫర్లలో vCPU అంటే ఏమిటి?
vCPU అనేది మీ guest ఆపరేటింగ్ సిస్టమ్కు చూపించే ఒక వర్చువల్ ప్రాసెసర్. ఇది హోస్ట్ షెడ్యూలర్ అందుబాటులో ఉన్నప్పుడు భౌతిక కోర్ (physical core) పై రన్ చేసే ఒక త్రెడ్కు మ్యాప్ అవుతుంది. ఆఫర్లో "dedicated core" లేదా "dedicated vCPU" అని పేర్కొనకపోతే, ఇది మీకు కేటాయించిన హార్డ్వేర్ కాదు, కేవలం CPU సమయాన్ని అడిగే అవకాశం మాత్రమే. హోస్ట్లు తమ వద్ద ఉన్న కోర్ల కంటే ఎక్కువ vCPUలను విక్రయిస్తాయి, ఈ నిష్పత్తిని సాధారణంగా వెల్లడించరు, కాబట్టి మీరే పరీక్షించుకోవాలి. stress-ng --cpu 0 --timeout 300s రన్ చేసి, vmstat 1 లోని st కాలమ్ను గమనించండి. Steal విలువ డబుల్ డిజిట్స్లో ఉంటే, ఇతర guestలు వాడుతున్న కోర్ల కోసం మీరు వేచి చూస్తున్నారని అర్థం.
"Unlimited bandwidth" అంటే నిజంగానే అపరిమితమా?
కాదు. ప్లాన్ వివరణలో లేని రెండు చోట్ల పరిమితులు ఉంటాయి. Acceptable use policy (AUP) లో "fair use" పరిమితిని పదాలలో పేర్కొంటారు, మరియు port speed అనేది బైట్స్లో గరిష్ట పరిమితిని నిర్ణయిస్తుంది. 100 Mbit/s పోర్ట్ గరిష్ట వేగంతో పనిచేసినా 30 రోజుల్లో సుమారు 32 TB కంటే ఎక్కువ డేటాను పంపలేదు. కాబట్టి పోర్ట్ వేగాన్ని అడగండి, మరియు పాలసీలో "fair use" లేదా "sustained" వంటి పదాల కోసం వెతకండి. ఆ తర్వాత vnstat -m తో మీరు పంపుతున్న డేటాను ట్రాక్ చేసి, అనుమతించిన దానితో పోల్చుకోండి.
నా VPS నిజంగా NVMe వాడుతుందో లేదో ఎలా తెలుసుకోవాలి?
Guest లోపలి నుండి భౌతిక మాధ్యమాన్ని (physical media) మీరు నిర్ధారించలేరు, ఎందుకంటే lsblk కేవలం హైపర్వైజర్ చూపించే సమాచారాన్ని మాత్రమే ఇస్తుంది: అంటే 0 విలువ కలిగిన ROTA మరియు ఖాళీ లేదా సాధారణ మోడల్ స్ట్రింగ్. మీరు పరీక్షించాల్సింది పనితీరును (behaviour). --iodepth=1 వద్ద --direct=1 తో fio రన్ చేసి, 99.00th percentile completion latencyని చూడండి. లోకల్ NVMe వందల మైక్రోసెకన్లలో స్పందిస్తుంది, కానీ నెట్వర్క్ ద్వారా అనుసంధానించబడిన వాల్యూమ్ (network attached volume) సీక్వెన్షియల్ త్రూపుట్ బాగున్నా మిల్లీసెకన్లలో స్పందిస్తుంది. రోజులో వివిధ సమయాల్లో దీన్ని పరీక్షించండి, ఎందుకంటే షేర్డ్ డిస్క్ పనితీరు 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 నిమిషాలు సరిపోతుంది. మీరు ఏ డేటాను మైగ్రేట్ చేయకముందే ఇవి చేయడం వల్ల, రీఫండ్ పొందే అవకాశం మీకు ఉంటుంది.