SSD Nodes Learn 🎉 VPS $4.99/মাস থেকে
নির্দেশিকা Matt Connorদ্বারা Matt Connor · আপডেট করা হয়েছে 2026-08-07

SSD VPS কী? Flash storage-এর গতি ও সুবিধা বুঝুন

SSD VPS-এ spinning disk নয়, flash storage ব্যবহৃত হয়। IOPS ও কম latency কীভাবে performance বাড়ায় এবং কেনার আগে কোন 3টি প্রশ্ন করবেন, তা জানুন।

SSD VPS কী?

SSD VPS হলো এমন একটি virtual private server, যার disk spinning hard disk-এর পরিবর্তে flash memory দ্বারা পরিচালিত হয়। SSD-এর পূর্ণরূপ solid state drive। এটি NAND flash chip দিয়ে তৈরি storage, যার ভেতরে কোনো moving part থাকে না। VPS-এর পূর্ণরূপ virtual private server। এটি একটি physical host machine-এর বিচ্ছিন্ন অংশ, যেখানে নিজস্ব operating system চলে এবং যেটি আপনাকে সম্পূর্ণ server হিসেবে বিক্রি করা হয়। এই দুটি একত্রে একটি বিষয় বোঝায়। আপনার server কোনো data block পড়ার সময় প্রথমে কোনো mechanical অংশকে নড়াচড়া করতে হয় না।

এটাই সম্পূর্ণ সংজ্ঞা। নিচের সব আলোচনা সেই বিষয় নিয়ে, যা এই label-এ বলা হয় না। কারণ pricing page-এ থাকা "SSD hosting" কথাটি পেছনের storage array সম্পর্কে খুব কম তথ্য দেয়।

আপনি যদি এখনও VPS এবং সাধারণ virtual machine-এর পার্থক্য বোঝার চেষ্টা করেন, তাহলে VPS, VM এবং VPC-এর পার্থক্য পৃষ্ঠাটি আগে পড়া ভালো।

হোস্টরা storage size-এর বদলে storage speed কেন উল্লেখ করে

একটি plan page-এ CPU core, memory, disk size এবং bandwidth উল্লেখ করার পর disk সম্পর্কে এমন একটি শব্দ যোগ করা হয়, যা আদৌ কোনো size নয়। হোস্টরা এটি করে, কারণ বহু বছর আগেই storage-এর ক্ষেত্রে capacity আর সবচেয়ে গুরুত্বপূর্ণ সংখ্যা থাকেনি। একটি server-এর কর্মক্ষমতা নির্ধারণ করে এমন দুটি সংখ্যা হলো IOPS (input/output operations per second) এবং latency (একটি operation সম্পন্ন হয়ে ফিরতে কত সময় লাগে)।

এর কারণ হলো যান্ত্রিক পার্থক্য। একটি hard disk ঘূর্ণায়মান platter-এ data সংরক্ষণ করে এবং চলমান arm-এর মাথায় থাকা head দিয়ে তা পড়ে। platter-এর অন্য জায়গায় থাকা কোনো block-এ পৌঁছাতে arm-কে seek করতে হয়। এরপর সঠিক sector-টি head-এর নিচে আসা পর্যন্ত disk-কে ঘুরতে হয়। 7200 revolutions per minute গতিতে অর্ধেক rotation-এর গড় সময় প্রায় 4 ms, আর seek করতে আরও কয়েক ms লাগে। Flash-এ কোনো arm বা platter নেই। তাই read হলো একটি বৈদ্যুতিক lookup, যা কয়েক দশ microsecond-এর মধ্যে ফল দেয়।

ChartRandom 4k read, published device class specifications rather than VPS measurements
The data behind this chart
[
  {
    "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 read-এর জন্য rated, এবং প্রতিটি read ফিরে আসতে প্রায় 8 ms সময় লাগে। একটি NVMe drive একই ধরনের read-এর জন্য প্রায় 600,000-এর কাছাকাছি rated, যেখানে প্রতিটির সময় প্রায় 0.08 ms। মাঝামাঝি অবস্থানে থাকা SATA SSD-টি প্রায় 90,000-এর কাছাকাছি rated। এগুলোকে percentage improvement হিসেবে নয়, order of magnitude হিসেবে পড়ুন।

এই data সম্পর্কে দুটি সতর্কতা মনে রাখুন। এগুলো প্রতিটি class-এর সম্পূর্ণ drive-এর প্রকাশিত specification। তাই এগুলো manufacturer-এর sheet figure, VPS-এ মাপা performance নয়। আর আপনি কখনো সম্পূর্ণ একটি drive পান না। আপনার volume হলো একটি device-এর অংশ, অথবা একটি array-এর অংশ, যা একই hardware-এ থাকা অন্য customer-দের volume-এর পাশে চলে।

দুটি column ভিন্ন প্রশ্নের উত্তর দেয়। তাই এগুলো একসঙ্গে পড়ুন। Latency হলো একটি operation-এর জন্য আপনাকে কতক্ষণ অপেক্ষা করতে হয়। IOPS হলো drive একই সময়ে কতগুলো operation process করতে পারে। Flash parallelism-এর মাধ্যমে উচ্চ IOPS অর্জন করে। কারণ অনেকগুলো flash chip একসঙ্গে অনেক request-এর উত্তর দেয়, আর একটি deep queue তাদের কাজের মধ্যে রাখে। একটি single-threaded program যদি একটি read পাঠিয়ে তার ফলের জন্য অপেক্ষা করে, তারপর পরের read পাঠায়, তাহলে এটি কখনো chart-এর সর্বোচ্চ IOPS দেখতে পাবে না। এটি latency column-এর performance-ই দেখতে পাবে।

SSD, NVMe, SATA এবং PCIe: চারটি ভিন্ন স্তরের চারটি শব্দ

ক্রেতারা এই শব্দগুলো গুলিয়ে ফেলেন, কারণ প্রতিটি শব্দ সিস্টেমের আলাদা একটি অংশকে বোঝায়।

  • SSD হলো storage medium। এর অর্থ, ডেটা magnetic platter-এর বদলে NAND flash chip-এ সংরক্ষিত থাকে।
  • SATA হলো একটি interface, যা mechanical disk-এর যুগে তৈরি হয়েছিল। এর সর্বোচ্চ গতি 6 Gbit/s, যা বাস্তবে প্রায় 550 MB/s throughput দেয়। এর command queue-তে একসঙ্গে 32টি command রাখা যায়।
  • NVMe (non-volatile memory express) হলো বিশেষভাবে flash-এর জন্য তৈরি একটি protocol। এটি একাধিক queue সমর্থন করে, এবং প্রতিটি queue-তে হাজার হাজার command রাখা যায়। ফলে একাধিক CPU core একই সময়ে drive-এর সঙ্গে যোগাযোগ করতে পারে, একটি সংকীর্ণ queue ভাগ করে নেওয়ার প্রয়োজন হয় না।
  • PCIe (peripheral component interconnect express) হলো সেই bus, যার ওপর NVMe চলে। Graphics card-ও একই ধরনের lane-এ সংযুক্ত হয়।

তাই SATA SSD এবং NVMe SSD—দুটিই flash-এ ডেটা সংরক্ষণ করে। পার্থক্য হলো, তারা ভিন্ন interface ব্যবহার করে। SATA SSD যেকোনো hard disk-এর চেয়ে অনেক দ্রুত। তবে এর 32-command queue কতটা parallel কাজ প্রকাশ করা যাবে তা সীমিত করে। Flash-এর প্রধান সুবিধাই হলো parallel কাজ করা। কোনটির জন্য অতিরিক্ত অর্থ দেওয়া যুক্তিযুক্ত, তা আপনার workload-এর ওপর নির্ভর করে। NVMe বনাম SATA SSD বেছে নেওয়ার সিদ্ধান্ত বিষয়টি বিস্তারিতভাবে ব্যাখ্যা করে।

লোকাল flash নাকি network attached storage?

একই শব্দের অধীনে দুটি সম্পূর্ণ ভিন্ন ব্যবস্থা বিক্রি করা হয়।

Local storage বলতে বোঝায়, flash drive-গুলো আপনার VPS-এর একই physical host-এর ভেতরে থাকে। অনুরোধটি একটি মেশিনের ভেতরে PCIe-এর মাধ্যমে যায় এবং সরাসরি ফিরে আসে। এভাবেই latency কয়েক দশ microsecond-এর মধ্যে থাকে।

Network attached storage বলতে বোঝায়, আপনার virtual disk একটি আলাদা storage cluster-এ থাকে। এটি প্রায়ই Ceph বা SAN (storage area network) ব্যবহার করে। প্রতিটি read ও write সেই disk-এ পৌঁছাতে network-এর মধ্য দিয়ে যায়। Provider-রা সাধারণত এটিকে "cloud block storage" বা "elastic volumes" বলে। Flash storage বাস্তব। Network-এর অতিরিক্ত যাতায়াতও বাস্তব। প্রতিটি operation-এ এই সময় যোগ হয়। তাই latency কয়েক দশ microsecond-এর বদলে সাধারণত কয়েক শ microsecond-এর বেশি বা কম millisecond পর্যায়ে থাকে।

কোনোটিই ভুল পছন্দ নয়। কোনো host নষ্ট হলেও network storage টিকে থাকে, কারণ data কখনো সেই host-এ ছিল না। Provider অন্য hardware-এ আপনার server চালু করতে পারে এবং disk-টিও সেখানে সংযুক্ত হয়। Local NVMe দ্রুততর, তবে এটি একটি physical machine-এর সঙ্গে যুক্ত। সেই machine-এ hardware failure হলে backup থেকে restore করতে হবে। কোনো plan কোন ধরনের storage ব্যবহার করে তা জিজ্ঞেস করুন। প্রায় কেউই তা করে না।

বাস্তব সার্ভারে পার্থক্যটি কেমন বোঝা যায়

সার্ভারের কাজের মধ্যে দীর্ঘ sequential transfer-এর তুলনায় ছোট ছোট random read ও write বেশি হয়। তাই marketing copy-তে দেওয়া MB/s মানটি পৃষ্ঠার সবচেয়ে কম উপযোগী সংখ্যা।

  • Database commit। Durability নিশ্চিত করা একটি database transaction commit করার সময় fsync চালায়। এরপর data সত্যিই সংরক্ষিত হয়েছে কি না drive নিশ্চিত করা পর্যন্ত অপেক্ষা করে। Hard disk-এ এই অপেক্ষার সময় milliseconds-এ মাপা হয়। তাই একটি ছোট database প্রতি সেকেন্ডে low hundreds-এর বেশি commit করতে পারে না। Flash-এ একই অপেক্ষা এক millisecond-এরও কম। PostgreSQL, MySQL বা production database হিসেবে SQLite ব্যবহার করলেও এই ক্ষেত্রেই পার্থক্য সবচেয়ে বেশি।
  • Package install। apt install হাজার হাজার ছোট file unpack করে এবং কাজের সঙ্গে সঙ্গে সেগুলো disk-এ sync করে। এই কাজের প্রায় কিছুই sequential নয়। তাই এটি IOPS দ্বারা সীমাবদ্ধ।
  • Container image pull। docker pull network-এর মাধ্যমে compressed layer সংগ্রহ করে। এরপর সেগুলো হাজার হাজার ছোট file-এ extract করে। Download network-bound। Extraction disk-bound। ধীর volume-এ extraction শেষ হওয়ার অপেক্ষাই বেশি করতে হয়।
  • Boot এবং reboot। Startup প্রথমে একটি kernel ও initramfs পড়ে। এরপর volume জুড়ে ছড়িয়ে থাকা শত শত ছোট unit file ও shared library পড়ে।

এর কোনোটিই বড় sequential read নয়। কোনো volume 500 MB/s গতিতে data stream করলেও যদি সেটি মাত্র 3,000 IOPS সরবরাহ করে, তাহলে docker compose pull চলার সময় সেটি ধীরই মনে হবে। কারণ অপেক্ষার সময় megabyte অনুযায়ী নয়, প্রতিটি file অনুযায়ী গণনা হয়।

প্রাইসিং পেজে “SSD cloud hosting” লেখা থাকলে তা আপনাকে প্রায় কিছুই জানায় না

এই শব্দটি শুধু storage medium-এর ধরন জানায়। Drive কোন interface ব্যবহার করে, তা জানায় না। Drive-টি আপনার server-এর একই machine-এ আছে কি না, সেটিও জানায় না। আপনার plan সর্বোচ্চ কত performance-এ পৌঁছাতে পারবে, সে সম্পর্কেও কিছু বলে না।

এই সর্বোচ্চ সীমাটিই সবচেয়ে গুরুত্বপূর্ণ। অথচ বিজ্ঞাপনে এটিই সবচেয়ে কম উল্লেখ করা হয়। Provider-রা প্রতি volume-এর জন্য IOPS এবং throughput সীমাবদ্ধ করে। কারণ একটি host-এ অনেক customer থাকে। কোনো সীমাহীন neighbour অন্যদের available resource কমিয়ে দিতে পারে। শত-হাজার IOPS সক্ষম hardware-এ প্রতি volume-এর জন্য কয়েক হাজার IOPS cap থাকা স্বাভাবিক এবং সৎ নীতি। কিন্তু plan description-এ এটি সাধারণত দেখা যায় না। দুটি plan-এই “SSD” লেখা থাকতে পারে। একটিতে per volume cap ছাড়া local NVMe থাকতে পারে। অন্যটি হতে পারে shared cluster volume, যার সীমা 3,000 IOPS।

Cap সাধারণত দুই ধরনের হয়। Sustained cap হলো একটি স্থির সর্বোচ্চ সীমা, যা কখনও পরিবর্তিত হয় না। Burst cap-এ একটি কম baseline থাকে। এর সঙ্গে credits দেওয়া হয়, যাতে কিছু সময়ের জন্য baseline-এর চেয়ে বেশি performance পাওয়া যায়। Volume idle থাকলে credits আবার পূরণ হয়। পাঁচ মিনিটের test-এ burst cap চমৎকার ফল দেখাতে পারে। কিন্তু database import বা বড় restore চলার মাঝখানে এটি baseline-এ নেমে যেতে পারে। Provider যদি বড় কোনো সংখ্যা উল্লেখ করে, তাহলে জিজ্ঞেস করুন আপনি কতক্ষণ সেই performance ধরে রাখতে পারবেন।

আপনার VPS আসলে কী দিয়েছে তা কীভাবে পরীক্ষা করবেন

Guest-এর ভেতর থেকে আপনি শুধু hypervisor যে তথ্য জানায়, সেটিই দেখতে পারেন।

lsblk -d -o NAME,ROTA,MODEL,SIZE
cat /sys/block/vda/queue/rotational

vda-কে আপনার disk-এর জন্য প্রিন্ট হওয়া device name lsblk দিয়ে প্রতিস্থাপন করুন। Device-কে non-rotational হিসেবে জানানো হলে ROTA এবং rotational file-এর read 0 হয়, আর বিপরীত তথ্য জানানো হলে 1 হয়। Virtual disk এই flag hypervisor যে তথ্য দেয়, তার ভিত্তিতে সেট করে। তাই এটি নিচের physical hardware নয়, virtual device-টির বৈশিষ্ট্য বর্ণনা করে। MODEL সাধারণত vda-এর মতো virtio disk-এর ক্ষেত্রে খালি থাকে, অথবা emulated SATA controller-এর ক্ষেত্রে QEMU HARDDISK-এর মতো একটি সাধারণ string থাকে। Guest-রা host-এর array দেখতে পাওয়ার কথা নয়, এবং তারা তা দেখতে পায়ও না।

তাই এই flag-কে শুধু একটি ইঙ্গিত হিসেবে বিবেচনা করুন এবং বাকি বিষয়গুলো পরিমাপ করুন। Volume-এর একটি file-এ fio ব্যবহার করে random 4k test চালান। আপনার application বাস্তবে যে queue depth ব্যবহার করে, সেটিই নিন। Burst credit শেষ হয়ে যাওয়ার মতো যথেষ্ট সময় ধরে test চালান। VPS সঠিকভাবে benchmark করা-এ fio command এবং অতিরঞ্জিত ফল তৈরি করে এমন সাধারণ ভুলগুলো দেওয়া আছে।

কেনার আগে provider-কে যে তিনটি প্রশ্ন করবেন

  1. Storage কি hypervisor-এর local, নাকি network attached? এই উত্তর আপনার latency-এর ন্যূনতম সীমা নির্ধারণ করে। কোনো physical host ব্যর্থ হলে আপনার data-এর কী হবে, সেটিও এর ওপর নির্ভর করে। যে provider সরাসরি এই প্রশ্নের উত্তর দিতে পারে, সে বিষয়টি নিয়ে আগেই চিন্তা করেছে।
  2. আমার volume-এর IOPS limit কত? একটি নির্দিষ্ট সংখ্যা জানতে চান। "Unlimited" এবং "enterprise grade" কোনো সংখ্যাই নয়। সত্যিই যদি কোনো cap না থাকে, তাহলে জিজ্ঞেস করুন: একই host-এর কোনো neighbour তাদের backup window-তে পুরো array-এর ক্ষমতা ব্যবহার করা থেকে কীভাবে আটকানো হয়?
  3. এই limit কি sustained, নাকি burst? burst হলে baseline এবং burst কতক্ষণ স্থায়ী হয়, তা জিজ্ঞেস করুন। আপনার nightly job baseline-এর performance-এই চলবে। তাই পরিকল্পনার ভিত্তি হিসেবে baseline-ই ব্যবহার করুন।

ফ্ল্যাশ কি ক্ষয় হয়, এবং এটি কি আপনার সমস্যা?

ফ্ল্যাশ সেল সীমিত সংখ্যক write cycle গ্রহণ করতে পারে। তাই drive-গুলো TBW (terabytes written) বা DWPD (drive writes per day) হিসেবে endurance rating প্রকাশ করে। drive তার সেলগুলোর মধ্যে write সমানভাবে ছড়িয়ে দেয়। এই প্রক্রিয়াকে wear levelling বলা হয়। কোনো সেল নষ্ট হলে বদলে দেওয়ার জন্য drive অতিরিক্ত block সংরক্ষণ করে। VPS-এ এই ক্ষয় provider-এর দায়িত্ব। তারা নিজেদের drive-এর SMART counter monitor করে এবং rating শেষ হওয়ার আগে hardware বদলে দেয়। আপনার সমস্যাটি ফ্ল্যাশের চেয়েও পুরোনো। একটি drive backup নয়। আপনার volume-এর redundancy-ও backup নয়, কারণ এটি data কপি করার মতোই নির্ভুলভাবে deletion-ও কপি করে।

আপনি আসলে যে বিনিময়টি করছেন, তা হলো প্রতি gigabyte-এর মূল্য। spinning disk-এর তুলনায় ফ্ল্যাশের প্রতি gigabyte-এর দাম বেশি। তাই একই দামে SSD plan-এ সাধারণত hard disk plan-এর চেয়ে কম capacity দেওয়া হয়। media বা archive-এর জন্য বেশি storage space প্রয়োজন হলে fast volume ছোট রাখুন এবং bulk data কম খরচের অন্য storage-এ রাখুন। server-এর বাইরে backup রাখার ক্ষেত্রেও এটিই উপযুক্ত বিন্যাস। মোট bill-এর বাকি অংশে storage কীভাবে যুক্ত হয়, তা জানতে একটি VPS-এর প্রকৃত খরচ line item অনুযায়ী দেখানো হয়েছে।

FAQ

একটি SSD VPS কি NVMe VPS-এরই সমান?

প্রতিটি NVMe VPS-ই SSD VPS, কারণ NVMe drive-এ flash storage ব্যবহার করা হয়। তবে উল্টোটি সত্য নয়। "SSD" হিসেবে বিজ্ঞাপিত কোনো plan-এ SATA SSD থাকতে পারে। এটি mechanical disk-এর জন্য তৈরি interface-এর মাধ্যমে সংযুক্ত flash storage, যার command queue 32 এবং সর্বোচ্চ গতি প্রায় 550 MB/s। উভয়ই hard disk-এর তুলনায় অনেক দ্রুত। আপনার workload-এর জন্য এই পার্থক্য গুরুত্বপূর্ণ হলে plan-এর নাম দেখে অনুমান না করে provider-কে জিজ্ঞাসা করুন, plan-এ কোন ধরনের storage ব্যবহার করা হয়েছে।

SSD VPS কি আমার website দ্রুততর করে?

এটি disk-এর কাজ দ্রুত করে, শুধু disk-এর কাজ। প্রতিটি request-এ কয়েকটি database query চালানো page দ্রুততর হয়, কারণ ওই query এবং commit-গুলো ছোট random I/O। Memory বা cache থেকে পরিবেশিত page পাঠানোর সময় disk স্পর্শ করে না, তাই এতে খুব কম পরিবর্তন হয়। Storage পরিবর্তন করে সমস্যা সমাধানের জন্য অর্থ খরচ করার আগে request-এর কোন অংশ ধীর তা মাপুন।

আমার VPS সত্যিই SSD storage ব্যবহার করছে কি না কীভাবে যাচাই করব?

Guest-এর ভেতর থেকে physical hardware যাচাই করা যায় না। lsblk -d -o NAME,ROTA virtual device কী ঘোষণা করছে তা দেখায়, এবং hypervisor ওই value নির্ধারণ করে। তাই সেখানে 0 দেখা গেলে সেটি প্রমাণ নয়, বরং একটি ইঙ্গিত। ব্যবহারিক যাচাই হলো measurement: কয়েক মিনিট random 4k read workload সহ fio চালান এবং সেটি যে latency report করে তা দেখুন। এক অঙ্কের millisecond-এ random read হলে spinning disk বা congested network volume থাকার সম্ভাবনা থাকে। Tens of microseconds হলে local flash থাকার ইঙ্গিত পাওয়া যায়।

Network attached SSD storage কি local NVMe-এর চেয়ে খারাপ?

প্রতিটি operation-এ এটি ধীর এবং failure-এর ধরনও আলাদা। প্রতিটি read ও write-এর সঙ্গে network round trip যুক্ত হয়। তাই উভয়টিতেই flash থাকলেও latency বেশি হয়। এর বিনিময়ে data একটি মাত্র physical host-এ থাকে না। ফলে host failure হলেও volume নষ্ট হয় না, এবং provider-এর জন্য snapshot ও live migration সহজ হয়। Latency-sensitive database-এর জন্য local flash বেছে নিন। Volume টিকে থাকা microseconds-এর latency-এর চেয়ে গুরুত্বপূর্ণ হলে network storage বেছে নিন।