SSD Nodes Learn 🎉 VPS $5.50/மாதம் முதல்
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-13

Storage VPS மற்றும் Regular VPS: எது சிறந்தது?

Storage VPS மற்றும் Regular VPS இடையேயான முக்கிய வேறுபாடுகளை அறியுங்கள். NVMe வேகம் மற்றும் டெராபைட் சேமிப்புத் திறன் ஆகியவற்றில் எது உங்கள் பணிக்கு ஏற்றது என்பதை இதில் காணலாம்.

Storage VPS மற்றும் regular VPS: சுருக்கமான விளக்கம்

Storage VPS என்பது டெராபைட் (terabyte) அடிப்படையில் விற்கப்படும் ஒரு virtual private server ஆகும்; regular VPS என்பது CPU core அடிப்படையில் விற்கப்படுகிறது. Storage திட்டத்தில், குறைந்த CPU பகிர்வுடன் பல டெராபைட் அளவுள்ள மெதுவான disk வழங்கப்படுகிறது. Standard திட்டத்தில், அதே விலைக்கு வேகமான NVMe (non-volatile memory express) disk வழங்கப்படுகிறது, ஆனால் அதன் கொள்ளளவு பெரும்பாலும் 20 மடங்கு குறைவாக இருக்கும்; அதேசமயம் அதிக processor மற்றும் memory வசதி கிடைக்கும். இந்த இரண்டு தயாரிப்புகளுக்கும் இடையே மற்ற அனைத்தும் ஒரே மாதிரியானவை: ஒரே hypervisor, ஒரே root shell, ஒரே Ubuntu image, மற்றும் ஒரே network stack.

இந்த ஒரு வித்தியாசம் மட்டுமே எதைத் தேர்ந்தெடுக்க வேண்டும் என்பதைத் தீர்மானிக்கிறது. Backup இலக்குகள், media libraries, cold archives மற்றும் ஒருமுறை எழுதி அரிதாகப் பயன்படுத்தும் தரவுகளுக்கு Storage VPS பொருத்தமானது. Database-களுக்கோ அல்லது பயனர் காத்திருக்கும் எந்தவொரு இணையப் பக்கத்திற்கோ இது பொருத்தமற்றது. ஏனெனில், அத்தகைய பணிகளுக்கு சிறிய random reads ஒரு மில்லி விநாடிக்குள் முடிவடைய வேண்டும்; மலிவான சேமிப்புத் திறன் என்பது அந்த வேகத்தை வழங்க முடியாது என்பதாலேயே மலிவாகக் கிடைக்கிறது.

விலை நிர்ணயப் பக்கங்களில் நீங்கள் காணும் திட்டங்களின் பெயர்கள்

நான்கு பெயர்கள் கிட்டத்தட்ட அனைத்து சேவை வழங்குநர்களிடமும் பொதுவானவை, அவற்றில் இரண்டு மட்டுமே குறிப்பிட்ட அர்த்தத்தைக் கொண்டுள்ளன.

  • Standard VPS. இரண்டு முதல் எட்டு vCPU, 2 GB முதல் 32 GB RAM, மற்றும் host node-லேயே இருக்கும் 20 GB முதல் 400 GB வரையிலான NVMe அல்லது SATA SSD.
  • Storage VPS. 1 TB முதல் 20 TB அல்லது அதற்கு மேற்பட்ட கொள்ளளவு, பொதுவாக spinning SATA disks அல்லது அதிக கொள்ளளவு கொண்ட SATA SSD-கள், ஒன்று முதல் நான்கு shared vCPU மற்றும் குறைந்த அளவு RAM. இது பெரும்பாலும் சிறிய standard திட்டத்தின் அதே மாதக் கட்டணத்தைக் கொண்டிருக்கும்.
  • VDS. Virtual dedicated server என்பதன் சுருக்கம். இந்த வார்த்தைக்குப் பொதுவான வரையறை எதுவும் இல்லை, எனவே எதைப் பார்க்க வேண்டும் என்பதை கீழே உள்ள பகுதி விளக்குகிறது.
  • Block storage volume. இது ஒரு திட்டம் அல்ல: ஏற்கனவே உள்ள VPS-உடன் நீங்கள் இணைக்கும் network attached disk, இதற்கு GB-க்கு மாதக் கட்டணம் வசூலிக்கப்படும். இந்த நான்கில், server-ஐ மாற்றாமலேயே நீங்கள் கொள்ளளவை அதிகரிக்கக்கூடிய ஒரே அம்சம் இதுதான்.

இந்த அளவீடுகள் சந்தையில் பொதுவாகக் காணப்படும் வடிவங்களே தவிர, ஒரு குறிப்பிட்ட நிறுவனத்தின் சலுகை அல்ல. திட்டத்தின் பெயர் என்பது ஒரு வகைப்பாடு மட்டுமே, எனவே உங்கள் server எந்த வகையான chassis-ல் இயங்குகிறது என்பதை இது தோராயமாகத் தெரிவிக்கும். இது disk வகை, CPU ஒதுக்கீட்டுக் கொள்கை அல்லது bandwidth அளவு ஆகியவற்றைத் தெரிவிக்காது; உங்கள் workload சிறப்பாக இயங்குமா என்பதைத் தீர்மானிப்பது இந்த அம்சங்களே.

இரண்டு திட்டங்களுக்கு இடையே உண்மையில் என்ன மாறுகிறது

Disk வகை மற்றும் எண்ணிக்கை. இதுவே தயாரிப்புகளுக்கு இடையிலான முழுமையான வேறுபாடு. Standard திட்டத்தில், PCI Express bus வழியாக இணைக்கப்பட்ட NVMe flash சேமிப்பகம் உங்களுக்குக் கிடைக்கும். Storage திட்டத்தில், அதிக எண்ணிக்கையிலான spinning disks அல்லது அதிக கொள்ளளவு கொண்ட SATA SSD-கள் கொண்ட array உங்களுக்கு வழங்கப்படும். இதில் எந்த தொழில்நுட்பம் உங்களுக்குத் தேவை என்பதில் சந்தேகம் இருந்தால், முதலில் SSD VPS என்றால் என்ன மற்றும் பழைய disk திட்டங்களிலிருந்து அது எவ்வாறு வேறுபடுகிறது என்பதையும், பின்னர் NVMe மற்றும் SATA SSD-க்கு இடையிலான நடைமுறை வேறுபாடு என்பதையும் படிக்கவும்.

CPU விகிதம். Storage திட்டங்களில் ஒரு terabyte-க்கு குறைவான vCPU-களே ஒதுக்கப்படுகின்றன, மேலும் அந்த vCPU-கள் பெரும்பாலும் பிற பயனர்களுடன் பகிரப்படுகின்றன. இது ஒரு குறைபாடு அல்ல. ஒரு backup இலக்கு அதன் வாழ்நாளில் பெரும்பாலான நேரத்தை network-க்காகக் காத்திருப்பதிலேயே செலவிடுகிறது, எனவே அதற்கு அதிக cores தேவைப்படுவதில்லை.

RAM. Storage திட்டங்கள் அவற்றின் விலைக்கு ஏற்ப மிகக் குறைந்த RAM-ஐயே வழங்குகின்றன. இது ஒரு குறிப்பிட்ட இடத்தில் பாதிப்பை ஏற்படுத்தும்: filesystem metadata. மில்லியன் கணக்கான சிறிய கோப்புகளுக்கு directory மற்றும் inode cache-க்கு அதிக நினைவகம் தேவைப்படும், அது இல்லையெனில் ஒவ்வொரு கோப்புப் பட்டியலும் disk-லிருந்துதான் எடுக்கப்படும்.

Network ஒதுக்கீடு. Storage திட்டத்தில் இந்த வரியை கவனமாகப் படிக்கவும். உங்களால் மீட்டெடுக்க முடியாத கொள்ளளவு ஒரு backup ஆகாது. மாதந்திர transfer ஒதுக்கீட்டை TB-யிலும், port வேகத்தை Gbit/s-லும் சரிபார்க்கவும். ஏனெனில், 1 Gbit/s port வழியாக 4 TB தரவை முழுமையாக மீட்டெடுக்க சுமார் ஒன்பது மணிநேரம் ஆகும், port பகிரப்பட்டிருந்தால் இது இன்னும் அதிக நேரம் எடுக்கும்.

ChartTypical advertised disk cost per TB per month, August 2026
The data behind this chart
[
  {
    "plan": "Storage VPS, HDD",
    "usd_per_tb_month": 3
  },
  {
    "plan": "Storage VPS, SATA SSD",
    "usd_per_tb_month": 9
  },
  {
    "plan": "Standard VPS, NVMe",
    "usd_per_tb_month": 40
  },
  {
    "plan": "Block storage add-on",
    "usd_per_tb_month": 90
  }
]

இவை ஆகஸ்ட் 2026-ல் பல்வேறு சேவை வழங்குநர்களின் பொதுவான விலைப்பக்கங்களிலிருந்து எடுக்கப்பட்ட தோராயமான புள்ளிவிவரங்கள்; இவை எந்தவொரு குறிப்பிட்ட நிறுவனத்தின் விலையும் அல்ல, மேலும் இவை மாறக்கூடியவை. இந்த விலை அமைப்பே நிலையானது. ஒரு spinning storage திட்டத்தில் ஒரு terabyte-க்கான மாதந்திர செலவு சுமார் 3 அமெரிக்க டாலர்கள் ஆகும். Standard திட்டத்தில் அதே ஒரு terabyte NVMe-க்கான செலவு சுமார் 40 ஆகும், மேலும் network attached block volume என்பது 4 விருப்பங்களில் மிகவும் விலை உயர்ந்தது, அதன் விலை 90 ஆகும். மாதந்திர கட்டணம் எவற்றால் ஆனது என்பது குறித்த விரிவான பார்வைக்கு, ஒரு VPS-க்கான உண்மையான மாதந்திர செலவு என்ன என்பதைப் பார்க்கவும்.

ஒரு TB-க்கான விலை மற்றும் ஒரு core-க்கான விலை ஏன் எதிர் திசையில் பயணிக்கின்றன

ஒரு storage node என்பது பன்னிரண்டு முதல் பதினாறு பெரிய disks-ஐக் கொண்ட ஒரு chassis ஆகும், அதன் முன்புறம் ஒரு சாதாரண processor மட்டுமே இருக்கும். ஒரு compute node இதற்கு நேர்மாறானது: இதில் அதிக cores, அதிக RAM, மற்றும் இரண்டு அல்லது நான்கு NVMe drives இருக்கும். அந்த chassis-ல் உபரியாக என்ன இருக்கிறதோ அதைத்தான் service provider விற்கிறார். எனவே, ஒரு terabyte-க்கு மலிவான விலையில் கிடைக்கும் திட்டம், ஒரு core-க்கு அதிக விலை கொண்டதாக இருக்கும்; அதேபோல், ஒரு core-க்கு மலிவான விலையில் கிடைக்கும் திட்டம், ஒரு terabyte-க்கு அதிக விலை கொண்டதாக இருக்கும். இரண்டிற்கும் மலிவான விலையில் எந்தத் திட்டமும் இல்லை, ஏனெனில் அத்தகைய chassis வடிவமைக்கப்படுவதில்லை.

இதனால்தான் "நான் எதை வாங்க வேண்டும்?" என்ற கேள்விக்கு, "இரண்டையும் வாங்குங்கள்" என்பதே நேர்மையான பதிலாக அமைகிறது. application-ஐ இயக்கும் ஒரு சிறிய NVMe VPS மற்றும் அதன் backups-ஐச் சேமிக்கும் ஒரு storage VPS ஆகிய இரண்டின் மொத்தச் செலவு, இரண்டு வேலைகளையும் சிறப்பாகச் செய்யக்கூடிய ஒரு பெரிய machine-ன் விலையை விடக் குறைவாகவே இருக்கும். ஒரு machine-ல் மட்டுமே இரண்டு வேலைகளையும் செய்ய வேண்டிய கட்டாயம் ஏற்பட்டால், நீங்கள் VPS எல்லையைத் தாண்டிவிட்டீர்கள் என்று அர்த்தம்: dedicated server எப்போது VPS-ஐ விடச் சிறந்தது என்பதைப் பார்க்கவும்.

குறைந்த விலை கொண்ட வன்வட்டுகளால் (disk) சீரற்ற முறையில் தரவுகளை வாசிக்க (random reads) முடியாது

ChartRandom 4k read figures by disk class, vendor datasheet order of magnitude
The data behind this chart
[
  {
    "disk": "7200 rpm SATA HDD",
    "random_read_iops": "180",
    "typical_latency_ms": 8.5
  },
  {
    "disk": "SATA SSD",
    "random_read_iops": "75,000",
    "typical_latency_ms": 0.2
  },
  {
    "disk": "NVMe SSD",
    "random_read_iops": "600,000",
    "typical_latency_ms": 0.08
  }
]

இவை ஒரு குறிப்பிட்ட வழங்குநரின் செயல்திறன் அளவீடுகள் அல்ல, மாறாக தரவுத்தாள்களில் (datasheet) குறிப்பிடப்படும் பொதுவான அளவீடுகள். ஒரு 7200 rpm வன்வட்டு வினாடிக்கு சுமார் 180 எண்ணிக்கையிலான 4k சீரற்ற வாசிப்புகளை மட்டுமே செய்யும். ஏனெனில், வன்வட்டின் தலை (head) குறிப்பிட்ட தடம் (track) நோக்கி நகர்ந்து, வட்டு சுழன்று அந்தத் துறை (sector) அதன் கீழ் வரும் வரை காத்திருக்க வேண்டும். இதற்கு ஒவ்வொரு முறையும் சுமார் 8.5 ms காலதாமதம் ஏற்படும். Flash சேமிப்பகத்தில் நகரும் பாகங்கள் எதுவும் இல்லை. எனவே, ஒரு SATA SSD சுமார் 75,000 IOPS வேகத்தையும், ஒரு NVMe சாதனம் சுமார் 600,000 IOPS வேகத்தையும் 0.08 ms காலதாமதத்தில் வழங்குகின்றன. இது மூவாயிரம் மடங்குக்கும் அதிகமான இடைவெளி ஆகும்; இதை எவ்வளவு RAM அல்லது CPU பயன்படுத்தினாலும் ஈடுசெய்ய முடியாது.

தொடர்ச்சியான தரவுப் பரிமாற்றம் (sequential work) முற்றிலும் மாறுபட்டது. இதனால்தான் சேமிப்பகத் திட்டங்கள் (storage plans) பயனுள்ளதாக இருக்கின்றன. ஒரு சுழலும் வன்வட்டு கூட 150 MB/s முதல் 250 MB/s வரை தரவை அனுப்பும், வன்வட்டுகளின் தொகுப்பு (array) இதைவிட அதிக வேகத்தைத் தரும். இது 1 Gbit/s port-ன் கொள்ளளவை முழுமையாகப் பயன்படுத்தும். எனவே, ஒரு backup பதிவேற்றம் முழு network வேகத்தில் நடக்கும்போது, வன்வட்டின் வேகம் ஒரு தடையாக இருப்பதில்லை. வன்வட்டுகளின் தொகுப்பு எவ்வாறு கட்டமைக்கப்பட்டுள்ளது என்பதைப் பொறுத்தும் உங்கள் செயல்திறன் அளவுகள் மாறுபடும். ஏனெனில், striping தொழில்நுட்பம் ஒரு கோரிக்கையை பல வன்வட்டுகளுக்குப் பிரித்து வழங்குகிறது: RAID 10 சேமிப்பகத் திட்டத்தின் செயல்திறனை எவ்வாறு மாற்றுகிறது என்பது இதைப் பற்றி விளக்குகிறது.

VDS என்றால் என்ன?

இது பொதுவாக ஒரு சந்தைப்படுத்தல் பெயராகும். பொதுவாக மூன்று அர்த்தங்கள் புழக்கத்தில் உள்ளன, ஆனால் எந்த அர்த்தம் பொருந்தும் என்பதை சேவை வழங்குநர்கள் அரிதாகவே குறிப்பிடுவார்கள். சிலர் VDS என்பதை pinned அல்லது dedicated CPU cores-க்கு பயன்படுத்துகின்றனர், இதனால் உங்கள் கணினி சுழற்சிகளை (cycles) வேறு எந்த வாடிக்கையாளரும் பகிர்ந்து கொள்ள மாட்டார்கள். சிலர் இதை KVM போன்ற முழுமையான virtualization-க்கு பயன்படுத்துகின்றனர்; இது LXC அல்லது OpenVZ போன்ற container virtualization-க்கு மாறானது, அங்கு நீங்கள் host kernel-ஐ பகிர்ந்து கொள்கிறீர்கள். இன்னும் சிலர் VPS-ஐ விட வலிமையானதாகத் தோன்றும் ஒரு பெயராக மட்டுமே இதைப் பயன்படுத்துகின்றனர்.

server-க்குள் இருந்தே இதை ஓரளவு கண்டறியலாம். systemd-detect-virt கட்டளையை இயக்கினால், முழுமையான virtual machine-ல் kvm என்றும், container-ல் lxc என்றும் காட்டும். container என்றால் உங்களால் kernel modules-ஐ ஏற்றவோ அல்லது சொந்த kernel-ஐ இயக்கவோ முடியாது. dedicated CPU குறித்த கூற்றை, கீழே கொடுக்கப்பட்டுள்ள steal time சோதனையைப் பயன்படுத்தி நீங்கள் அளவிட வேண்டும். திட்டத்தில் உள்ள பெயர்களை ஒரு குறிப்பாக மட்டும் எடுத்துக்கொள்ளுங்கள், ஆனால் technical specifications-ஐ ஒப்பந்தமாக கருதுங்கள்.

பெயருக்குப் பதிலாகச் சரிபார்க்க வேண்டிய விவரக்குறிப்பு வரிகள்

  • கொள்ளளவுக்கு அருகில் அச்சிடப்பட்ட சொல்: NVMe, SSD, SATA அல்லது HDD. பக்கத்தில் எங்கும் வட்டு (disk) தொடர்பான சொல் இல்லை என்றால், அந்த விலைக்குப் பொருந்தக்கூடிய மலிவான வன்பொருளைக் கருத்தில் கொள்ளவும்.
  • வட்டு அந்த node-க்கு உள்ளூர் (local) வட்டா அல்லது network மூலம் இணைக்கப்பட்டதா என்பது. Network மூலம் இணைக்கப்பட்ட சேமிப்பகம் ஒவ்வொரு கோரிக்கையிலும் தாமதத்தை (latency) ஏற்படுத்தும், ஆனால் node செயலிழந்தாலும் தரவு அழியாது. உள்ளூர் வட்டு வேகமானது, ஆனால் node செயலிழக்கும்போது அதனுடன் சேர்ந்து அழிந்துவிடும்.
  • CPU விவரக்குறிப்பு: "dedicated" அல்லது "pinned" என்று உள்ளதா அல்லது "shared", "fair share" அல்லது எந்தக் குறிப்பும் இல்லையா என்று பார்க்கவும்.
  • திட்டத்தில் குறிப்பிடப்பட்டுள்ள ஏதேனும் IOPS அல்லது MB/s வரம்பு. 500 IOPS என்ற வரம்பு இருந்தால், வட்டின் வகை பெரிய மாற்றத்தை ஏற்படுத்தாது.
  • மாதாந்திர தரவு பரிமாற்ற வரம்பு (transfer allowance) மற்றும் port வேகம்; இவை முழுமையான தரவு மீட்பு (restore) எவ்வளவு நேரம் எடுக்கும் என்பதைத் தீர்மானிக்கின்றன.
  • Snapshots, backups மற்றும் கூடுதல் IP முகவரிகள் திட்டத்தில் அடங்குமா அல்லது தனித்தனியாகக் கட்டணம் வசூலிக்கப்படுமா என்பது.

உங்களுக்குக் கிடைத்த வட்டை (disk) எவ்வாறு சரிபார்ப்பது

Kernel என்ன தகவலைத் தருகிறது என்பதிலிருந்து தொடங்குங்கள், ஆனால் அதை அப்படியே நம்பிவிடாதீர்கள்.

lsblk -d -o NAME,ROTA,SIZE,MODEL
df -h /
nproc
free -h

ROTA என்பது சுழலும் வட்டுக்கு (rotational device) 1 என்றும், flash வட்டுக்கு 0 என்றும் இருக்கும். VPS-க்குள் இதை நம்ப வேண்டாம்: ஒரு virtio disk பொதுவாக ROTA=0 என்றே காட்டும், அதன் பின்னால் எது இருந்தாலும் சரி. ஏனெனில், hypervisor ஒரு பொதுவான block device-ஐயே வழங்குகிறது, guest-க்கு இயற்பியல் வட்டு தெரிவதில்லை. இதே காரணத்தால் MODEL காலியாக இருக்கும். இந்த flag, hypervisor எதை அறிவித்ததோ அதைத்தான் குறிக்கும், rack-ல் எது சுழல்கிறது என்பதை அல்ல. எனவே, நீங்களே அளவிடுவது சிறந்தது.

sudo apt update && sudo apt install -y fio
fio --name=randread --filename=/var/tmp/fio.test --size=1G --bs=4k --rw=randread \
  --ioengine=libaio --direct=1 --iodepth=32 --runtime=30 --time_based --group_reporting
rm -f /var/tmp/fio.test

--direct=1 என்பது page cache-ஐத் தவிர்த்து, RAM-க்கு பதிலாக வட்டை நேரடியாக அளவிடும். நீங்கள் கவனிக்க வேண்டிய வரி read: IOPS=, அதன் கீழ் clat percentiles (usec)-ல் விநியோகத் தரவுகள் இருக்கும். ஒரு தரமான NVMe திட்டம் பல்லாயிரக்கணக்கான IOPS-ஐயும், 99th percentile-ல் ஒரு millisecond-க்கும் குறைவான கால அளவையும் காட்டும். சுழலும் வட்டு (spinning storage) திட்டம் சில நூறு IOPS-ஐயும், 99th percentile-ல் இரு இலக்க millisecond கால அளவையும் காட்டும். libaio engine-ஐ ஏற்ற முடியவில்லை என்று fio காட்டினால், --ioengine=psync --iodepth=1-ஐப் பயன்படுத்தவும். அப்போது எண்கள் குறைவாக இருக்கும், ஏனெனில் அந்த engine ஒரு நேரத்தில் ஒரு கோரிக்கையை மட்டுமே கையாளும்.

vmstat 1 5
sudo apt install -y sysstat
iostat -x 1 5

vmstat-ல், st நெடுவரிசை steal time-ஐக் குறிக்கும்: உங்கள் vCPU இயங்கத் தயாராக இருந்தும், host அந்தச் சுழற்சிகளை (cycles) மற்றொரு guest-க்கு வழங்கிய நேரத்தின் பங்கு இது. இந்த மதிப்பு தொடர்ந்து 5-க்கு மேல் இருந்தால், அந்த node அதிகப்படியான பயன்பாட்டில் (oversubscribed) உள்ளது என்று அர்த்தம். இதுவே "dedicated CPU" என்ற கூற்றின் உண்மையான சோதனை. iostat -x-ல், %util, r_await மற்றும் w_await ஆகியவற்றைக் கவனியுங்கள். %util மதிப்பு 100-க்கு அருகில் இருந்து, w_await மதிப்பு இரு இலக்க millisecond-களில் இருந்தால், வட்டுதான் தடையாக (bottleneck) உள்ளது என்று அர்த்தம். எந்த application மாற்றமும் இதற்கு உதவாது. Flash சார்ந்த சோதனைகளுக்கு, NVMe வட்டுதான் என்பதை உறுதிப்படுத்துதல் என்ற பகுதி கூடுதல் விவரங்களை வழங்கும்.

பணிச்சுமைக்கு ஏற்ப தேர்வு செய்தல்

  • restic, Borg அல்லது rsync-க்கான Backup இலக்கு. இது Storage VPS-க்கானது, இதற்காகவே இது உருவாக்கப்பட்டது. இதில் தரவு எழுதுதல் (writes) பெரிய அளவிலும் தொடர்ச்சியாகவும் இருக்கும், deduplication மூல இயந்திரத்திலேயே (source machine) நடக்கும், மேலும் முடிவிற்காக எந்தச் செயல்பாடும் காத்திருக்காது. ஒரு எச்சரிக்கை: restic prune மற்றும் restic check --read-data ஆகியவை முழு repository-யையும் சிறிய துண்டுகளாக வாசிக்கும், எனவே அவற்றுக்குத் தேவையான நேரத்தை ஒதுக்கி, ஒரு கால அட்டவணையின்படி (schedule) இயக்கவும். restic backups-ஐ VPS-க்கு இயக்குதல் என்பதைப் பார்க்கவும்.
  • Immich அல்லது Jellyfin மீடியா லைப்ரரி. கோப்புகளுக்கு Storage VPS-ஐப் பயன்படுத்தலாம், ஆனால் CPU குறித்து எச்சரிக்கையாக இருக்கவும். Immich இறக்குமதி செய்யும் போது thumbnails-ஐ உருவாக்குகிறது மற்றும் machine learning பணிகளைச் செய்கிறது, Jellyfin மீடியாவை இயக்கும்போது transcodes செய்கிறது. இரண்டு shared vCPU-க்கள் 200 GB புகைப்படங்களின் முதல் இறக்குமதியை மிக மெதுவாகவே செய்யும். தரவுத்தளம் (database) மற்றும் thumbnail cache-ஐ அந்த இயந்திரத்தில் உள்ள வேகமான வட்டில் (fastest disk) வைக்கவும். Google Photos-க்கு மாற்றாக Immich-ஐ self-hosting செய்தல் என்பதில் அளவு நிர்ணயம் குறித்து விளக்கப்பட்டுள்ளது.
  • PostgreSQL அல்லது MySQL. Standard NVMe திட்டம். ஒவ்வொரு commit-உம் ஒரு fsync-ல் முடிகிறது, இது transaction முடிவதற்கு முன்பே நிலையான சேமிப்பகத்தை (durable storage) அடைய வேண்டும். எனவே, commit latency என்பது வட்டின் latency ஆகும், மேலும் index lookup என்பது 8 kB சீரற்ற வாசிப்பு (random read) ஆகும், இது சுழலும் வட்டுக்கு (spinning disk) மிகவும் கடினமான செயலாகும்.
  • Web application, API அல்லது control plane. Standard திட்டம். இவற்றுக்கு cores மற்றும் கணிக்கக்கூடிய latency தேவை, மேலும் இவை அரிதாகவே 100 GB-க்கு மேல் தேவைப்படும்.
  • CI cache அல்லது artifact store. இது கோப்பின் அளவைப் பொறுத்தது. பெரிய tarballs கோப்புகள் storage திட்டத்திலிருந்து முழு network வேகத்தில் வரும். ஆயிரக்கணக்கான சிறிய கோப்புகளைக் கொண்ட cache, பல runners மூலம் இணையாக இழுக்கப்படும்போது, அது மறைமுகமாக சீரற்ற IO (random IO) ஆக மாறி உங்களுக்கு ஏமாற்றத்தைத் தரும்.

இதைச் சரியாகச் செய்யத் தவறினால் என்ன நடக்கும்

இதன் தோல்வி உடனடியாகத் தெரிவதில்லை. ஒரு பயனர் இருக்கும்போது சுழலும் வட்டு (spinning storage) கொண்ட database நன்றாகச் செயல்படுவது போலத் தோன்றும், ஆனால் பத்து பயனர்கள் வரும்போது அது முடங்கிவிடும். RAM-ல் நடந்த queries வட்டில் நடக்கத் தொடங்கும்; இதனால் மைக்ரோ விநாடிகளில் நடந்த ஒவ்வொரு செயலும் மில்லி விநாடிகள் எடுத்துக்கொள்ளும். Load average உயரும், ஆனால் top-ல் CPU பெரும்பாலும் சும்மா இருப்பதும், %wa-ன் மதிப்பு அதிகமாக இருப்பதும் தெரியும். இதன் பொருள், கணக்கீடுகளைச் செய்வதற்குப் பதிலாக, வட்டுக்காக (disk) காத்திருக்கும் நிலையில் process-கள் முடங்கியுள்ளன என்று அர்த்தம். iostat -x 1-ல் %util ஏறக்குறைய 100-ல் இருப்பதைக்காட்டும்.

PostgreSQL-ன் பதிப்பு 15 முதல் log_checkpoints இயல்பாகவே ஆன் செய்யப்பட்டுள்ளதால், அதன் log-ல் இது தெளிவாகக் குறிப்பிடப்படும்:

LOG:  checkpoint complete: wrote 8241 buffers (2.5%); ... write=112.402 s, sync=9.318 s, total=121.914 s

இதில் sync= என்ற மதிப்புதான் முக்கியமானது. இது checkpoint-ஆனது fsync திரும்புவதற்காகக் காத்திருந்த நேரத்தைக் குறிக்கிறது. எனவே, இதன் மதிப்பு விநாடிகளில் இருந்தால், database உருவாக்கும் வேகத்திற்கு ஏற்ப வட்டில் தரவுகளை எழுத முடியவில்லை என்று அர்த்தம். அந்த நேரத்தில் query எளிமையானதாக இருந்தாலும், client connections முடங்கிவிடும். இதற்கு configuration-ல் மாற்றம் செய்வது தீர்வாகாது. தரவு அடைவை (data directory) NVMe-க்கு மாற்றவும்; அந்த storage plan-ஐ அதன் பயன்பாட்டிற்கு ஏற்ப, அதாவது database-ன் backups-களைச் சேமிக்க மட்டும் பயன்படுத்தவும்.

FAQ

Storage VPS, சாதாரண VPS-ஐ விட மெதுவானதா?

Random read மற்றும் write செயல்பாடுகளுக்கு, ஆம், இது கணிசமான அளவு மெதுவானது. ஒரு spinning storage plan வினாடிக்கு சில நூறு சிறிய random கோரிக்கைகளை மட்டுமே கையாளும், ஒவ்வொன்றிற்கும் சுமார் 8 ms நேரம் எடுக்கும். அதேசமயம், NVMe plan வினாடிக்கு பல்லாயிரக்கணக்கான கோரிக்கைகளை 1 ms-க்கும் குறைவான நேரத்தில் கையாளும். Sequential பரிமாற்றங்களுக்கு இவை இரண்டும் நெருக்கமான செயல்திறனைக் கொண்டிருக்கும், ஏனெனில் ஒரு storage array வினாடிக்கு 150 MB அல்லது அதற்கு மேற்பட்ட வேகத்தில் தரவை அனுப்பும், இது 1 Gbit/s port-ஐ நிரப்ப போதுமானது. நீங்கள் முடிவெடுக்கும் முன் fio --rw=randread --bs=4k --direct=1 மூலம் உங்கள் தேவையை அளவிட்டுப் பாருங்கள்.

Storage VPS-ல் PostgreSQL-ஐ இயக்க முடியுமா?

நீங்கள் அதைத் தொடங்கலாம், அது RAM-ல் தரவு இருக்கும் வரை சரியாக வேலை செய்யும். அதற்குப் பிறகு, ஒவ்வொரு commit-ம் மெதுவான வட்டில் fsync-க்காகக் காத்திருக்கும். Postgres இதை checkpoint complete-க்குள் sync= என்ற வினாடி கணக்கில் பதிவு செய்யும், அதே நேரத்தில் iostat -x 1-ல் %util 100-க்கு அருகிலும், அதிக w_await-ம் காட்டப்படும். பொதுவாக, தரவுத்தளத்திற்கு ஒரு சிறிய NVMe VPS-ஐயும், அதன் dumps-ஐச் சேமிக்க ஒரு storage VPS-ஐயும் பயன்படுத்துவதே சிறந்த முறையாகும்.

VDS என்றால் எனக்கு பிரத்யேக வன்பொருள் (dedicated hardware) கிடைக்குமா?

நிச்சயமாகச் சொல்ல முடியாது. VDS என்ற சொல்லுக்கு நிலையான அர்த்தம் இல்லை. சில நிறுவனங்கள் இதை pinned CPU cores-க்கு பயன்படுத்துகின்றன, சில நிறுவனங்கள் shared kernel container-க்கு மாறாக முழுமையான KVM virtualization-க்கு பயன்படுத்துகின்றன, இன்னும் சில இதை வெறும் பெயராக மட்டுமே பயன்படுத்துகின்றன. நீங்கள் kvm-ல் இருக்கிறீர்களா அல்லது lxc-ல் இருக்கிறீர்களா என்பதை அறிய systemd-detect-virt-ஐ இயக்கவும். மேலும், மற்ற பயனர்கள் உங்கள் CPU சுழற்சிகளைப் பயன்படுத்துகிறார்களா என்பதை அறிய vmstat 1 5-ஐ இயக்கி st நெடுவரிசையைக் கவனிக்கவும்.

எனது VPS வட்டு உண்மையில் NVMe தானா என்பதை எப்படி அறிவது?

lsblk -d -o NAME,ROTA,MODEL-ஐ நம்ப வேண்டாம், ஏனெனில் வன்பொருள் எதுவாக இருந்தாலும், virtio disk பொதுவாக ROTA=0 மற்றும் காலியான model string-ஐயே காட்டும். --direct=1-ஐப் பயன்படுத்தி 30 வினாடி fio random read சோதனையைச் செய்து, IOPS மற்றும் 99th percentile latency ஆகியவற்றைச் சரிபார்க்கவும். இரு இலக்க மில்லி விநாடிகளில் நூற்றுக்கணக்கான IOPS இருந்தால், அது spinning array ஆகும். ஒரு மில்லி விநாடிக்கும் குறைவான நேரத்தில் பல்லாயிரக்கணக்கான IOPS இருந்தால், அது flash வட்டு ஆகும்.