SSD VPS என்றால் என்ன? Flash storage விளக்கம்
SSD VPS என்பது சுழலும் disk-களுக்குப் பதிலாக flash storage-ல் இயங்கும் virtual server. அதிக IOPS, குறைந்த latency கிடைக்கும். வாங்கும் முன் 3 கேள்விகளைக் கேளுங்கள்.
SSD VPS என்றால் என்ன?
SSD VPS என்பது சுழலும் hard disk-க்கு பதிலாக flash memory-ஐ அடிப்படையாகக் கொண்ட virtual private server ஆகும். SSD என்பது solid state drive என்பதன் சுருக்கம்: இது நகரும் பாகங்கள் இல்லாத, NAND flash chips-களால் உருவாக்கப்பட்ட சேமிப்பகமாகும். VPS என்பது virtual private server என்பதன் சுருக்கம்: இது ஒரு physical host machine-ன் தனிமைப்படுத்தப்பட்ட ஒரு பகுதி; இது தனக்கென ஒரு operating system-ஐக் கொண்டு, ஒரு முழுமையான server போலவே உங்களுக்கு வழங்கப்படுகிறது. இவை இரண்டையும் இணைக்கும்போது, இந்த பெயர் ஒரு விஷயத்தை உறுதிப்படுத்துகிறது. உங்கள் server ஒரு தரவுத் தொகுதியை (data block) வாசிக்கும்போது, இயந்திர ரீதியாக எதுவும் நகர வேண்டியதில்லை.
இதுவே அதன் முழுமையான வரையறை. கீழே உள்ளவை அனைத்தும் இந்த பெயர் சொல்லாமல் விடுபட்ட விஷயங்களைப் பற்றியவை, ஏனெனில் ஒரு விலைப்பட்டியலில் உள்ள "SSD hosting" என்ற வார்த்தைகள், அதற்குப் பின்னால் உள்ள storage array-ஐப் பற்றி மிகக் குறைந்த தகவலையே தருகின்றன.
ஒரு VPS-க்கும் சாதாரண virtual machine-க்கும் என்ன வித்தியாசம் என்பதை நீங்கள் இன்னும் கண்டறிய முயற்சிக்கிறீர்கள் என்றால், VPS, VM மற்றும் VPC ஆகியவற்றிற்கு இடையேயான வேறுபாடு என்ற பக்கத்தை முதலில் படிப்பது சிறந்தது.
Storage speed-ஐ storage size-க்கு பதிலாக hosts ஏன் விளம்பரப்படுத்துகின்றன
ஒரு plan page-ல் CPU cores, memory, disk size மற்றும் bandwidth ஆகியவை பட்டியலிடப்பட்டிருக்கும். பின்னர் disk குறித்து, size அல்லாத ஒரு சொல்லும் சேர்க்கப்படும். பல ஆண்டுகளுக்கு முன்பே storage-ல் capacity மட்டுமே முக்கியமான அளவாக இல்லாமல் போனதே இதற்குக் காரணம். ஒரு server-ன் செயல்பாடு எப்படி இருக்கும் என்பதைத் தீர்மானிக்கும் இரண்டு அளவுகள் IOPS (input/output operations per second) மற்றும் latency (ஒரு operation திரும்ப வர எடுக்கும் நேரம்) ஆகும்.
இதற்குக் காரணம் mechanical வேறுபாடு. ஒரு hard disk, rotating platters-ல் data-வை வைத்திருக்கும். Moving arm-ல் உள்ள head மூலம் data-வை வாசிக்கும். Platter-ல் வேறு இடத்தில் உள்ள ஒரு block-ஐ அடைய arm seek செய்ய வேண்டும். அதன் பிறகு, சரியான sector head-க்கு கீழே வரும் வரை disk சுழல வேண்டும். 7200 revolutions per minute வேகத்தில், அரைச் சுழற்சிக்கு சராசரியாக 4 ms ஆகும். Seek நேரம் இதனுடன் மேலும் பல ms-ஐ சேர்க்கும். Flash-ல் arm அல்லது platter எதுவும் இல்லை. எனவே, read என்பது electrical lookup ஆகும்; அது tens of microseconds-ல் திரும்பும்.
இந்த விளக்கப்படத்தின் தரவு
[
{
"device": "7200 rpm hard disk",
"random_read_iops": "125",
"read_latency_ms": 8
},
{
"device": "SATA SSD",
"random_read_iops": "90,000",
"read_latency_ms": 0.15
},
{
"device": "NVMe SSD",
"random_read_iops": "600,000",
"read_latency_ms": 0.08
}
]ஒரு 7200 rpm hard disk, ஒரு வினாடிக்கு சுமார் 125 random 4k reads செய்யும் திறன் கொண்டதாக மதிப்பிடப்படுகிறது. அவற்றில் ஒரு read திரும்ப வர சுமார் 8 ms ஆகும். அதே reads-க்கு, ஒரு NVMe drive சுமார் 600,000 என்ற அளவில் மதிப்பிடப்படுகிறது. ஒவ்வொரு read-க்கும் சுமார் 0.08 ms ஆகும். இவ்விரண்டிற்கும் இடையில் உள்ள SATA SSD, சுமார் 90,000 என்ற அளவில் மதிப்பிடப்படுகிறது. இவற்றை percentage improvement ஆக அல்ல, orders of magnitude ஆகப் புரிந்துகொள்ள வேண்டும்.
இந்த data குறித்து இரண்டு எச்சரிக்கைகள் உள்ளன. இவை ஒவ்வொரு class-இன் முழு drives-க்காக வெளியிடப்பட்ட specifications ஆகும். ஆகவே, இவை manufacturer sheet-ல் உள்ள figures; VPS-ல் அளந்த values அல்ல. மேலும், உங்களுக்கு முழு drive கிடைக்காது. உங்கள் volume, ஒரே device-ன் ஒரு பகுதியை அல்லது ஒரு array-ன் ஒரு பகுதியை பகிர்ந்து கொள்ளும். அதே hardware-ல் மற்ற customers-ன் volumes-உம் இருக்கும்.
இந்த இரண்டு columns வெவ்வேறு கேள்விகளுக்குப் பதிலளிக்கின்றன. ஆகவே, அவற்றை ஒன்றாகப் படிக்க வேண்டும். Latency என்பது ஒரு operation-க்காக நீங்கள் காத்திருக்க வேண்டிய நேரம். IOPS என்பது drive ஒரே நேரத்தில் செயல்படுத்தக்கூடிய operations-ன் எண்ணிக்கை. Parallelism மூலம் Flash அதிக IOPS figures-ஐ அடைகிறது. பல flash chips ஒரே நேரத்தில் பல requests-க்கு பதிலளிக்கும். Deep queue அவற்றை busy-ஆக வைத்திருக்கும். ஒரு read-ஐ issue செய்து, அதற்காகக் காத்திருந்து, பின்னர் அடுத்த read-ஐ issue செய்யும் single-threaded program, அந்த chart-ன் அதிகபட்ச மதிப்பை ஒருபோதும் காணாது. அது latency column-ஐத்தான் காணும்.
SSD, NVMe, SATA மற்றும் PCIe: நான்கு வெவ்வேறு அடுக்குகளில் நான்கு சொற்கள்
ஒவ்வொரு சொல்லும் கணினி அமைப்பின் வெவ்வேறு பகுதிகளைக் குறிப்பதால், வாங்குபவர்கள் இந்தச் சொற்களைக் குழப்பிக் கொள்கிறார்கள்.
- SSD என்பது தரவு சேமிக்கப்படும் ஊடகம். இது தரவுகளை காந்தத் தட்டுகளுக்கு (magnetic platters) பதிலாக NAND flash சில்லுகளில் சேமிக்கிறது.
- SATA என்பது ஒரு interface; இது இயந்திரவியல் வன்வட்டுகளின் (mechanical disks) காலத்தில் வடிவமைக்கப்பட்டது. இதன் அதிகபட்ச வேகம் 6 Gbit/s ஆகும், இது நடைமுறையில் சுமார் 550 MB/s throughput-ஐத் தருகிறது. இதன் command queue 32 கட்டளைகளை மட்டுமே ஒரே நேரத்தில் கையாளும்.
- NVMe (non-volatile memory express) என்பது flash-க்காகவே பிரத்யேகமாக எழுதப்பட்ட ஒரு protocol ஆகும். இது ஆயிரக்கணக்கான கட்டளைகளைக் கொண்ட பல queues-ஐ ஆதரிக்கிறது. எனவே, பல CPU cores ஒரே குறுகிய queue-ஐப் பகிர்ந்து கொள்ளாமல், நேரடியாக drive-உடன் தொடர்பு கொள்ள முடியும்.
- PCIe (peripheral component interconnect express) என்பது NVMe இயங்கும் bus ஆகும். இது graphics card இணைக்கப்படும் அதே வகை lanes-ஐப் பயன்படுத்துகிறது.
எனவே, SATA SSD மற்றும் NVMe SSD ஆகிய இரண்டுமே flash-ல் தான் தரவைச் சேமிக்கின்றன. அவை பயன்படுத்தும் interface-ல் தான் வேறுபடுகின்றன. ஒரு SATA SSD எந்தவொரு hard disk-ஐ விடவும் வேகமானதுதான், ஆனால் அதன் 32 command queue வரம்பு, அதனால் எவ்வளவு இணையாக (parallel) வேலை செய்ய முடியும் என்பதைக் கட்டுப்படுத்துகிறது. flash-ன் சிறப்பம்சமே இந்த இணையாகச் செயல்படும் திறன் தான். எதைத் தேர்ந்தெடுக்கலாம் என்பது உங்கள் பணிச்சுமையைப் (workload) பொறுத்தது. NVMe மற்றும் SATA SSD இடையேயான ஒப்பீடு இதைப் பற்றி விரிவாக விளக்குகிறது.
Local flash அல்லது network attached storage?
ஒரே சொல்லால் இரண்டு முற்றிலும் மாறுபட்ட அமைப்புகள் விற்கப்படுகின்றன.
Local storage என்பது, உங்கள் VPS இருக்கும் அதே physical host-க்குள் flash drives பொருத்தப்பட்டிருப்பதைக் குறிக்கும். ஒரு கோரிக்கை (request) ஒரே இயந்திரத்திற்குள் PCIe வழியாகச் சென்று உடனடியாகத் திரும்பும்; இதனால் latency என்பது பத்து மைக்ரோ விநாடிகளில் (tens of microseconds) இருக்கும்.
Network attached storage என்பது, உங்கள் virtual disk ஒரு தனி storage cluster-ல், பெரும்பாலும் Ceph அல்லது SAN (storage area network)-ல் இருப்பதை குறிக்கும். ஒவ்வொரு read மற்றும் write செயல்பாடும் அதை அடைய network-ஐக் கடக்க வேண்டும். சேவை வழங்குநர்கள் இதை பொதுவாக "cloud block storage" அல்லது "elastic volumes" என்று அழைப்பார்கள். இதில் flash என்பது உண்மையானதுதான். ஆனால், ஒவ்வொரு செயல்பாட்டிலும் network பயணம் சேர்வதால், latency என்பது பத்து மைக்ரோ விநாடிகளுக்குப் பதிலாக, நூற்றுக்கணக்கான மைக்ரோ விநாடிகள் அல்லது சில மில்லி விநாடிகள் வரை இருக்கும்.
இதில் எதுவுமே தவறான தேர்வு அல்ல. Network storage-ல் ஒரு host செயலிழந்தாலும் தரவு அழியாது, ஏனெனில் தரவு அந்த host-ல் இல்லை: சேவை வழங்குநர் உங்கள் server-ஐ வேறொரு hardware-ல் தொடங்க முடியும், disk அதனுடன் இணைந்துவிடும். Local NVMe வேகமானது, ஆனால் அது ஒரு physical machine-உடன் பிணைக்கப்பட்டுள்ளது; எனவே hardware கோளாறு ஏற்பட்டால் backup-லிருந்துதான் தரவை மீட்க முடியும். உங்கள் திட்டம் எதைப் பயன்படுத்துகிறது என்று கேட்டுத் தெரிந்துகொள்ளுங்கள். பெரும்பாலானோர் இதைச் செய்வதில்லை.
ஒரு உண்மையான server-ல் செயல்பாடு எப்படி இருக்கும்
Server-ன் வேலை என்பது நீண்ட தொடர்ச்சியான பரிமாற்றங்கள் அல்ல, பெரும்பாலும் சிறிய அளவிலான சீரற்ற (random) வாசிப்பு மற்றும் எழுதுதல் ஆகும். இதனால்தான், விளம்பரங்களில் குறிப்பிடப்படும் MB/s அளவு என்பது அந்தப் பக்கத்திலேயே மிகக் குறைவான பயனுள்ள எண்ணாகும்.
- Database commits. தரவுத்தளத்தின் நீடித்த தன்மையை (durability) உறுதிப்படுத்தும் ஒரு database, transaction commit செய்யப்படும்போது
fsync-ஐ அழைக்கிறது. தரவு உண்மையில் சேமிக்கப்பட்டுள்ளதா என்பதை drive உறுதிப்படுத்தும் வரை அது காத்திருக்கும். ஒரு hard disk-ல் இந்த காத்திருப்பு நேரம் மில்லி விநாடிகளில் இருக்கும், இது ஒரு சிறிய database-ன் வேகத்தை விநாடிக்கு சில நூறு commits என்ற அளவில் கட்டுப்படுத்தும். Flash storage-ல் இந்த காத்திருப்பு நேரம் மில்லி விநாடியின் ஒரு பகுதியே ஆகும். நீங்கள் PostgreSQL, MySQL அல்லது SQLite-ஐ production database-ஆக பயன்படுத்தினாலும், இந்த வேறுபாடுதான் மிக அதிகமாகத் தெரியும். - Package installs.
apt installஆயிரக்கணக்கான சிறிய கோப்புகளைப் பிரித்து (unpack), அவற்றை அவ்வப்போது disk-ல் sync செய்கிறது. இதில் பெரும்பாலான வேலைகள் தொடர்ச்சியானவை அல்ல, எனவே இது IOPS-ஐச் சார்ந்து அமைகிறது. - Container image pulls.
docker pullசுருக்கப்பட்ட அடுக்குகளை (compressed layers) network வழியாகப் பெற்று, அவற்றை ஆயிரக்கணக்கான சிறிய கோப்புகளாகப் பிரிக்கிறது. பதிவிறக்கம் network வேகத்தைச் சார்ந்தது. ஆனால், கோப்புகளைப் பிரித்தெடுப்பது disk வேகத்தைச் சார்ந்தது. மெதுவான volume-ல், இந்த பிரித்தெடுக்கும் நேரத்திற்காகத்தான் நீங்கள் காத்திருக்க வேண்டியிருக்கும். - Boot and reboot. கணினி தொடங்கும் போது kernel மற்றும் initramfs வாசிக்கப்படும். அதைத் தொடர்ந்து, volume முழுவதும் சிதறிக்கிடக்கும் நூற்றுக்கணக்கான சிறிய unit files மற்றும் shared libraries வாசிக்கப்படும்.
இவை எதிலும் பெரிய அளவிலான தொடர்ச்சியான வாசிப்பு (sequential read) இல்லை. 3,000 IOPS மட்டுமே வழங்கும் ஒரு volume 500 MB/s வேகத்தில் தரவை அனுப்பினாலும், ஒரு docker compose pull-ன் போது அது மெதுவாகவே செயல்படும். ஏனெனில், காத்திருப்பு நேரம் என்பது மெகாபைட்டுகளின் அடிப்படையில் அல்ல, கோப்புகளின் அடிப்படையில் கணக்கிடப்படுகிறது.
Pricing page-ல் “SSD cloud hosting” என்று இருப்பது ஏன் கிட்டத்தட்ட எதையும் தெரிவிப்பதில்லை
இந்தச் சொல் medium-ஐ மட்டும் குறிப்பிடுகிறது. Drive பேசும் interface குறித்து இது எதையும் தெரிவிப்பதில்லை. அந்த drive உங்கள் server இருக்கும் அதே machine-ல் உள்ளதா என்பதையும் தெரிவிப்பதில்லை. உங்கள் plan அடைய அனுமதிக்கப்படும் ceiling குறித்தும் இது எதையும் தெரிவிப்பதில்லை.
அந்த ceiling-தான் மிக முக்கியமானது. ஆனால் அதைப் பற்றியே மிகக் குறைவாக விளம்பரப்படுத்துகின்றனர். ஒரு host பல customers-க்கு service வழங்குவதால், providers ஒவ்வொரு volume-க்கும் IOPS மற்றும் throughput-ஐ cap செய்கின்றனர். Cap இல்லாத ஒரு neighbour, மற்ற customers-ன் resources-ஐ முழுமையாகப் பயன்படுத்த முடியாத நிலைக்கு கொண்டு செல்லலாம். Hundreds of thousands IOPS திறன் கொண்ட hardware-ல், சில ஆயிரம் IOPS-க்கு cap இருப்பது இயல்பானதும் நேர்மையானதுமாகும். ஆனால் அது plan description-ல் தெரியாது. இரண்டு plans-லும் “SSD” என்று குறிப்பிடப்பட்டிருக்கலாம். ஆனால் ஒன்றில் per volume cap இல்லாத local NVMe இருக்கலாம்; மற்றொன்று 3,000 IOPS-க்கு வரையறுக்கப்பட்ட shared cluster volume ஆக இருக்கலாம்.
Caps இரண்டு வடிவங்களில் வருகின்றன. Sustained cap என்பது ஒருபோதும் மாறாத நிலையான ceiling ஆகும். Burst cap என்பது குறைந்த baseline-உடன் credits-ஐ வழங்கும். அந்த credits மூலம் சிறிது நேரம் baseline-ஐ மீறலாம். Volume idle நிலையில் இருக்கும்போது credits மீண்டும் நிரம்பும். Five minute test-ல் burst cap சிறப்பாகத் தோன்றலாம். ஆனால் database import அல்லது பெரிய restore நடுவில் அது baseline-க்கு குறைந்து விடும். ஒரு provider பெரிய எண்ணிக்கையை மேற்கோள் காட்டினால், அதை எவ்வளவு நேரம் தொடர்ந்து வைத்திருக்க அனுமதிக்கப்படுகிறீர்கள் என்று கேளுங்கள்.
உங்கள் VPS உங்களுக்கு வழங்கியதை எவ்வாறு சரிபார்ப்பது
Guest-க்குள் இருக்கும்போது, hypervisor உங்களுக்கு எதைக் காட்டுகிறதோ அதை மட்டுமே உங்களால் பார்க்க முடியும்.
lsblk -d -o NAME,ROTA,MODEL,SIZE
cat /sys/block/vda/queue/rotationalvda-ஐ உங்கள் வட்டுக்கான lsblk சாதனப் பெயரைக் கொண்டு மாற்றவும். ROTA மற்றும் rotational கோப்பு, கர்னல் அந்தச் சாதனம் சுழலும் தன்மையற்றது (non-rotational) என்று அறிவிக்கப்பட்டால் 0 என்றும், அதற்கு மாறாக இருந்தால் 1 என்றும் வாசிக்கும். ஒரு virtual disk, hypervisor எதை விளம்பரப்படுத்துகிறதோ அதற்கேற்ப அந்த flag-ஐ அமைக்கும்; எனவே இது virtual சாதனத்தையே விவரிக்கிறது, அதன் அடியில் உள்ள physical வன்பொருளை அல்ல. vda போன்ற virtio வட்டுக்கு MODEL பொதுவாக காலியாக இருக்கும், அல்லது emulated SATA controller-ல் QEMU HARDDISK போன்ற பொதுவான சரமாக (string) இருக்கும். Guest-கள் host-ன் array-ஐப் பார்க்க வேண்டிய அவசியமில்லை, அவை பார்ப்பதும் இல்லை.
எனவே, அந்த flag-ஐ ஒரு குறிப்பாக மட்டும் எடுத்துக்கொண்டு, மற்றவற்றை அளவிடவும். உங்கள் application உண்மையில் பயன்படுத்தும் queue depth-ல், அந்த volume-ல் உள்ள ஒரு கோப்பில் fio-ஐப் பயன்படுத்தி random 4k சோதனையை இயக்கவும். எந்தவொரு burst credit-ம் தீரும் வரை போதுமான நேரம் அதை இயக்கவும். VPS-ஐ முறையாக benchmarking செய்தல் பகுதியில் fio கட்டளைகளும், தவறான முடிவுகளைத் தரும் பொதுவான பிழைகளும் விளக்கப்பட்டுள்ளன.
சேவை வழங்குநரிடம் வாங்குவதற்கு முன் கேட்க வேண்டிய மூன்று கேள்விகள்
- Storage-ஆனது hypervisor-ல் உள்ளூர் (local) சேமிப்பகமா அல்லது network மூலம் இணைக்கப்பட்டதா? இந்த பதில் உங்கள் latency-ன் குறைந்தபட்ச அளவைத் தீர்மானிக்கிறது. மேலும், ஒரு physical host செயலிழக்கும்போது உங்கள் தரவுகளுக்கு என்ன நடக்கும் என்பதையும் இதுவே முடிவு செய்கிறது. இதைத் தெளிவாகப் பதிலளிக்கும் ஒரு சேவை வழங்குநர், இதைப் பற்றிச் சிந்தித்துள்ளார் என்று அர்த்தம்.
- எனது volume-ன் IOPS வரம்பு என்ன? ஒரு குறிப்பிட்ட எண்ணைக் கேளுங்கள். "Unlimited" மற்றும் "enterprise grade" என்பவை எண்கள் அல்ல. உண்மையில் எந்த வரம்பும் இல்லை என்றால், அதே host-ல் உள்ள மற்றொரு பயனர் தனது backup நேரத்தில் முழு array-வையும் ஆக்கிரமிப்பதைத் தடுப்பது எது என்று கேளுங்கள்.
- அந்த வரம்பு நிலையானதா (sustained) அல்லது தற்காலிகமானதா (burst)? அது burst ஆக இருந்தால், அதன் baseline அளவு மற்றும் burst கால அளவைக் கேளுங்கள். உங்கள் இரவு நேரப் பணிகள் baseline அளவிலேயே இயங்கும், எனவே அதற்கேற்பவே திட்டமிட வேண்டும்.
Flash தேய்மானம் அடைகிறதா, அதுதான் உங்கள் சிக்கலா?
Flash செல்கள் குறிப்பிட்ட எண்ணிக்கையிலான write cycles-ஐ மட்டுமே ஏற்கும். எனவே, தயாரிப்பாளர்கள் TBW (terabytes written) அல்லது DWPD (drive writes per day) அடிப்படையில் அதன் ஆயுட்காலத்தை (endurance rating) குறிப்பிடுகின்றனர். Drive-ஆனது தரவுகளை அதன் செல்களில் சமமாகப் பரப்புகிறது; இதற்கு wear levelling என்று பெயர். பழுதடையும் செல்களை மாற்ற, அது கூடுதல் spare blocks-களை கையிருப்பில் வைத்திருக்கும். ஒரு VPS-ல், இந்தத் தேய்மானம் வழங்குநரின் (provider) பொறுப்பாகும்: அவர்கள் தங்கள் drive-களில் உள்ள SMART counters-ஐக் கண்காணித்து, அந்த rating முடிவதற்கு முன்பே வன்பொருளை (hardware) மாற்றிவிடுவார்கள். உங்கள் சிக்கல் flash-ஐ விடப் பழமையானது. ஒரு drive என்பது backup கிடையாது; உங்கள் volume-க்குக் கீழே உள்ள redundancy-யும் backup ஆகாது. ஏனெனில், அது தரவுகளை நகலெடுப்பது போலவே, ஒரு கோப்பை நீக்குவதையும் (deletion) அப்படியே நகலெடுக்கும்.
நீங்கள் உண்மையில் செய்யும் சமரசம் என்பது gigabyte-க்கான விலைதான். Spinning disks-ஐ விட flash-ன் gigabyte விலை அதிகம். எனவே, ஒரே விலையில் கிடைக்கும் hard disk திட்டத்தை விட, SSD திட்டத்தில் குறைவான கொள்ளளவே (capacity) கிடைக்கும். மீடியா அல்லது ஆவணங்களைச் சேமிக்க அதிக இடம் தேவைப்பட்டால், வேகமான volume-ஐச் சிறியதாக வைத்துக்கொண்டு, அதிகப்படியான தரவுகளை மலிவான இடத்தில் சேமிக்கவும். இது server-க்கு வெளியே backup-களை வைத்திருப்பதற்கு சரியான முறையாகும். சேமிப்பகம் உங்கள் கட்டணத்தில் எவ்வாறு அமைகிறது என்பதை அறிய, ஒரு VPS-ன் உண்மையான செலவு குறித்த விளக்கம் ஒவ்வொரு வரி உருப்படியையும் (line items) பிரித்துக் காட்டுகிறது.
FAQ
SSD VPS மற்றும் NVMe VPS இரண்டும் ஒன்றா?
ஒவ்வொரு NVMe VPS-ம் ஒரு SSD VPS ஆகும், ஏனெனில் NVMe டிரைவ்கள் ஃபிளாஷ் (flash) தொழில்நுட்பத்தைச் சேர்ந்தவை. ஆனால் இதற்கு நேர்மாறானது உண்மையாகாது. "SSD" என்று விளம்பரப்படுத்தப்படும் ஒரு திட்டம் SATA SSD-ஆக இருக்கலாம். இது மெக்கானிக்கல் டிஸ்க்குகளுக்காக வடிவமைக்கப்பட்ட இடைமுகத்திற்குப் பின்னால் உள்ள ஃபிளாஷ் ஆகும். இது 32 command queue-ஐக் கொண்டது மற்றும் 550 MB/s வேகத்திற்கு அருகில் உச்ச வரம்பைக் கொண்டுள்ளது. இவை இரண்டுமே ஹார்ட் டிஸ்க்கை விட மிக வேகமானவை. உங்கள் பணிச்சுமைக்கு இவற்றுக்கு இடையேயான வித்தியாசம் முக்கியமானது என்றால், திட்டத்தின் பெயரை மட்டும் பார்க்காமல், எந்த வகையான சேமிப்பகத்தைப் பயன்படுத்துகிறார்கள் என்று சேவை வழங்குநரிடம் கேளுங்கள்.
SSD VPS எனது இணையதளத்தை வேகப்படுத்துமா?
இது டிஸ்க் செயல்பாடுகளை மட்டுமே வேகப்படுத்தும். ஒரு கோரிக்கைக்கு (request) பல database queries-ஐ இயக்கும் பக்கம் வேகமடையும், ஏனெனில் அந்த queries மற்றும் அவற்றின் commits சிறிய random I/O செயல்பாடுகளாகும். மெமரி அல்லது கேச் (cache) மூலம் வழங்கப்படும் ஒரு பக்கம் டிஸ்க்கைத் தொடாது, எனவே அதில் பெரிய மாற்றம் இருக்காது. சேமிப்பகத்தை மேம்படுத்த பணம் செலவழிக்கும் முன், கோரிக்கையின் எந்தப் பகுதி மெதுவாக உள்ளது என்பதை அளவிடுங்கள்.
எனது VPS உண்மையில் SSD சேமிப்பகத்தைப் பயன்படுத்துகிறதா என்பதை எப்படிச் சரிபார்ப்பது?
Guest-க்குள் இருந்து உங்களால் இயற்பியல் வன்பொருளைச் சரிபார்க்க முடியாது. lsblk -d -o NAME,ROTA என்பது virtual device எதைக் காட்டுகிறதோ அதையே காண்பிக்கும். ஹைப்பர்வைசர் (hypervisor) தான் அந்த மதிப்பைத் தீர்மானிக்கிறது, எனவே அங்குள்ள 0 என்பது ஒரு குறிப்பு மட்டுமே, ஆதாரமல்ல. நடைமுறைச் சரிபார்ப்பு என்பது ஒரு அளவீடு ஆகும்: fio-ஐ சில நிமிடங்களுக்கு random 4k read பணிச்சுமையுடன் இயக்கி, அது காட்டும் latency-ஐப் பாருங்கள். ஒற்றை இலக்க மில்லிசெகண்ட் random reads என்பது சுழலும் டிஸ்க்குகள் அல்லது நெரிசலான network volume-ஐக் குறிக்கும். பத்து மைக்ரோசெகண்டுகள் என்பது local flash-ஐக் குறிக்கும்.
Network attached SSD சேமிப்பகம் local NVMe-ஐ விட மோசமானதா?
இது ஒரு செயல்பாட்டிற்கு மெதுவானது மற்றும் தோல்வியடையும் விதம் மாறுபட்டது. ஒவ்வொரு read மற்றும் write செயல்பாட்டிற்கும் network round trip நேரம் சேர்க்கப்படுவதால், இரண்டுமே ஃபிளாஷ் என்றாலும் latency அதிகமாக இருக்கும். இதற்குப் பதிலாக, உங்கள் தரவு ஒரே physical host-ல் இருக்காது. எனவே, ஒரு host செயலிழந்தால் volume பாதிக்கப்படாது. மேலும், snapshots மற்றும் live migration ஆகியவை சேவை வழங்குநருக்கு எளிதானது. Latency முக்கியத்துவம் வாய்ந்த database-க்கு local flash-ஐத் தேர்வு செய்யவும். மைக்ரோசெகண்டுகளை விட volume-ன் பாதுகாப்பு முக்கியம் எனில், network storage-ஐத் தேர்வு செய்யவும்.