"সার্ভার ধীর, RAM দ্বিগুণ করে দাও" হোস্টিংয়ের সবচেয়ে দামি অভ্যাস। কখনো কখনো এটা ঠিক। কিন্তু প্রায়ই মেশিন ডিস্কের অপেক্ষায় থাকে, কিংবা CPU পুরো ব্যস্ত, আর নতুন মেমরি অলস পড়ে থাকে যখন বিল দ্বিগুণ হয়।
তাই কার 64 GB লাগে সেই আলোচনার আগে দেখে নিই আপনার আসলে কীসের ঘাটতি। শুধু বিভিন্ন কাজে মেমরির সাধারণ সংখ্যা চাইলে, সেগুলো আছে আমাদের আগের গাইড VPS-এ কত RAM লাগে-এ, ভাষা মডেলের সূত্রসহ। এই লেখা রোগনির্ণয় নিয়ে: RAM, ডিস্ক নাকি CPU।
তিনটি কমান্ড, দুই মিনিট
ধীর সার্ভারে যখন সেটা ধীর তখনই চালান, ভোর চারটায় নয় যখন কিছুই ঘটছে না:
free -m
vmstat 1 10
cat /proc/pressure/cpu /proc/pressure/memory /proc/pressure/io
পাঠ্যবই ছাড়া এভাবে পড়ুন।
free -m. free কলাম উপেক্ষা করুন; Linux ইচ্ছে করেই খালি মেমরি ডিস্ক ক্যাশে ভরে রাখে। available দেখুন। 2 GB মেশিনে সেখানে মাত্র কয়েকশো MB থাকলে আর swap-এর used বাড়তে থাকলে, মেমরি টানাটানি।
vmstat 1 10. চারটি কলাম গল্পের বেশিরভাগ বলে দেয়:
| কলাম | মানে | ইঙ্গিত করে |
|---|---|---|
si / so | প্রতি সেকেন্ডে swap-এ ঢোকা ও বেরোনো পেজ | RAM |
wa | সময়ের % যখন CPU ডিস্কের অপেক্ষায় | ডিস্ক |
us + sy | সময়ের % যখন CPU কাজ করছে | CPU |
st | সময়ের % যখন হাইপারভাইজার আপনার CPU অন্যকে দিয়েছে | CPU (vCPU অন্যদের সঙ্গে ভাগ হয়) |
মাঝে মাঝে si/so-তে কয়েকটি অশূন্য মান স্বাভাবিক। আসল সংকেত হলো প্রতি সেকেন্ডে টানা swap।
/proc/pressure/*. তিনটির মধ্যে সবচেয়ে সৎ। প্রতিটি ফাইল দেখায় সময়ের কতটুকু কাজগুলো ওই রিসোর্সের অপেক্ষায় থেমে ছিল। memory-তে some avg60=25.00 মানে গত এক মিনিটে কোনো কিছু সময়ের এক-চতুর্থাংশ মেমরির অপেক্ষায় ছিল। যে ফাইলে সংখ্যা সবচেয়ে বড়, সেটাই আপনার বাধা।
যদি ডিস্ক হয়
উঁচু wa, io-তে বেশি চাপ, কম swap। সাধারণ কারণ হলো কোনো ডেটাবেস বা প্রচুর লগ লেখা অ্যাপ, যা ক্যাশে যতটা ধরে তার চেয়ে বেশি পড়ে।
আর এখানেই মোড়: বেশি RAM এটা সারাতে পারে, কারণ Linux ডিস্কের বড় অংশ ক্যাশ করবে। আপনার ডেটাবেস 6 GB আর হট অংশ 3 GB হলে, 2 GB থেকে 8 GB মেমরিতে গেলে ডিস্কের সমস্যা উধাও হতে পারে। কিন্তু ডেটাবেস 300 GB আর প্রতিটি কোয়েরি আলাদা অংশ ছুঁলে, কোনো যুক্তিসঙ্গত পরিমাণ RAM সেটা ক্যাশ করতে পারবে না। তখন সাহায্য করে ভালো ইনডেক্স, ছোট কোয়েরি বা ডেটার ভিন্ন বিন্যাস। এখানে সব প্ল্যান NVMe-তে চলে, তাই ধীর অংশ কদাচিৎ ডিস্ক নিজে। সাধারণত ধীর হলো ডিস্কে প্রবেশের ধরন।
যদি CPU হয়
উঁচু us+sy, cpu-তে চাপ, swap নেই, ডিস্কের অপেক্ষা কম। কম্প্রেশন, বিল্ড, ভিডিও এনকোডিং, ছবি প্রক্রিয়াকরণ, ক্রিপ্টোগ্রাফিক গণনা। বেশি মেমরি এখানে একেবারেই কাজে আসে না।
st-এর দিকেও নজর রাখুন। VPS-এ vCPU একটি ফিজিক্যাল কোরের সময়ের অংশ, পুরো কোর নয়: প্ল্যানের সংখ্যা স্বল্প উচ্ছ্বাসের জন্য ঊর্ধ্বসীমা, আর দীর্ঘ পূর্ণ লোড সীমিত হতে পারে যাতে মেশিনের সবার প্রতি ন্যায্য থাকে। আপনার কাজে যদি ঘণ্টার পর ঘণ্টা সব কোর 100%-এ লাগে, সেটা কাজেরই প্রশ্ন, আর বড় প্ল্যান কেনার পরে নয়, এখনই বলাটা আমরা ভালো মনে করি।
যদি সত্যিই RAM হয়
টানা swap, বাড়তে থাকা মেমরি চাপ, dmesg-এ OOM killer। এখন প্রশ্ন: কতটা।
2 GB যথেষ্ট, প্রায়ই বছরের পর বছর: একটি বা কয়েকটি বট, ছোট API, VPN, Nginx-এর পেছনে স্ট্যাটিক সাইট, cron-এ কয়েকটি স্ক্র্যাপার, একটি মনিটরিং এজেন্ট। Micro NAT-এ মাসে $5-এ, বা নিজস্ব IPv4 সহ $10-এ দেয় 2 vCPU, 2 GB আর 25 GB।
4–8 GB আরামদায়ক মাঝামাঝি: ডেটাবেসসহ একটি ওয়েব অ্যাপ, ছোট সার্চ ইনডেক্স, হেডলেস ব্রাউজার অটোমেশন, পাশাপাশি চলা দু-তিনটি এজেন্ট।
32–64 GB সেই ডেটার জন্য যা মেমরিতেই থাকতে হবে:
- এমন ডেটাবেস যার ওয়ার্কিং সেট কয়েক ডজন GB, যাতে ক্যাশ সত্যিই হট ডেটা ধরে রাখে;
- বড় ইন-মেমরি ক্যাশ বা কিউ, যা সব কিছু ধীর না করে ডিস্কে যেতে পারে না;
- লাখো টুকরোয় সার্চের জন্য ভেক্টর ইনডেক্স (আসল সংখ্যা আছে বড় পরিসরে নিজস্ব RAG-এ);
- মাঝারি আকারের ভাষা মডেলের CPU-তে ইনফারেন্স, যেখানে ওয়েট RAM-এ আঁটতে হবে;
- একত্রীকরণ: দশটি সেবা যা আগে দশটি ছোট সার্ভারে ছিল।
Pro-64 ঠিক এর জন্যই: 12 vCPU, 64 GB RAM, 600 GB NVMe আর ডেডিকেটেড IPv4, মাসে $70। মাঝের ধাপ $40-এর Pro-32 আর $55-এর Pro-48; ওপরে $90-এর Pro-80। Pro প্ল্যান-এর জন্য কোন অবস্থান পাওয়া যাবে, তা অর্ডারের সময় দেখা যায়।
যেখানে বড় মেশিন মানায় না
তিনটি ক্ষেত্র যেখানে 64 GB ভুল উত্তর, সামর্থ্য থাকলেও।
GPU-র কাজ। এই প্ল্যানগুলোর কোনোটিতে GPU নেই। আপনার মডেলের প্রশিক্ষণ বা দ্রুত ইনফারেন্সে GPU লাগলে, প্রচুর RAM-এর CPU মেশিন তা চালাবে ঠিকই, কিন্তু ধীরে, আর আপনি ধৈর্যের দাম দেবেন।
দীর্ঘক্ষণ পূর্ণ CPU-র কাজ। ওপরে যেমন বলা হলো: vCPU উচ্ছ্বাসের জন্য ক্ষমতা। বারোটি vCPU দিনরাত 100%-এ চালানো সেই কাজ নয় যার জন্য VPS তৈরি।
আর "যদি লাগে"। তিনটি কমান্ড মেমরি চাপ না দেখালে, বাড়তি 60 GB হবে এমন ফাইলের ক্যাশ যা আপনি পড়েনই না। ছোট দিয়ে শুরু করুন। একই নেটওয়ার্ক ধরনের বড় প্ল্যানে গেলে vCPU, RAM আর ডিস্ক সেখানেই একবার রিবুটে বাড়ে, যেমন প্ল্যান বদলানো-তে বলা আছে। সেখানে ছোট করা যায় না, তাই প্রয়োজনের চেয়ে বড় কেনার আসল খরচ আছে: ছোট করতে নতুন সার্ভারে সরতে হবে, আর ডাউনটাইম ছাড়া VPS সরানো এমন কাজ যা না করতে হলেই ভালো।
বিভিন্ন প্রদানকারীর প্ল্যান তুলনা করলে, VPS-এর স্পেসিফিকেশন কীভাবে পড়বেন ব্যাখ্যা করে vCPU, ডিস্ক আর পোর্টের সংখ্যা আসলে কী প্রতিশ্রুতি দেয়।
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।