Skip to content
VDS · সমস্যা সমাধান

সার্ভার ধীর: কোথা থেকে শুরু করবেন

পাঁচ মিনিটের ডায়াগনস্টিক পদ্ধতি: CPU, মেমরি, ডিস্ক, নেটওয়ার্ক — কয়েকটি কমান্ডে ঠিক কোথায় বাধা তৈরি হচ্ছে তা চিহ্নিত করুন এবং এরপর কী করবেন।

আপডেট: ২৩ আগস্ট, ২০২৬

“সবকিছু ধীর” — এটা কোনো রোগনির্ণয় নয়। বাধা মাত্র চারটি: CPU, মেমরি, ডিস্ক এবং নেটওয়ার্ক। নিচে পাঁচ মিনিটে এগুলোর কোনটি সমস্যা করছে তা চিহ্নিত করার একটি চেক অর্ডার দেওয়া হলো।

ধাপ ১: বড় ছবি

uptime
free -h
df -h

তিনটি কমান্ডই সঙ্গে সঙ্গে অর্ধেক সম্ভাবনা বাদ দিয়ে দেয়। যদি গড় লোড আপনার টিয়ারের কোর সংখ্যার চেয়ে স্পষ্টভাবে বেশি হয়, তাহলে একটি কিউ তৈরি হয়েছে — দেখুন Load average। available শূন্যের কাছাকাছি মানে মেমরি। যদি পার্টিশন ১০০% ভরা থাকে, আর খোঁজার দরকার নেই — পড়ুন Out of space।

ধাপ ২: ঠিক কোনটি বাধা

vmstat 2 5

প্রথম সারি ছাড়া বাকি সব গড় কলামগুলো দেখুন:

  • বেশি us ও sy, বড় r — CPU-নির্ভর;
  • বেশি wa, বড় b — ডিস্ক-নির্ভর;
  • শূন্য নয় এমন si ও so — সোয়াপিং হচ্ছে, অর্থাৎ মেমরি শেষ হয়ে যাচ্ছে;
  • বেশি st — হাইপারভাইজারের নেওয়া সময়, এটি বাহ্যিক কারণ, সাপোর্টে যোগাযোগ করুন।

ধাপ ৩: অপরাধী খুঁজুন

ps aux --sort=-%cpu | head -10
ps aux --sort=-%mem | head -10
iotop -boPan 3 | head -20        # apt install iotop
ss -tn state established | wc -l

লাইভ চিত্র htop বা btop-এ সহজে পড়া যায়। D স্টেটে থাকা প্রসেসগুলোর দিকে খেয়াল রাখুন — তারা ডিস্কের জন্য অপেক্ষা করছে এবং লোড বাড়াচ্ছে।

যদি অপরাধী আপনার অ্যাপ্লিকেশন হয়, তাহলে পরের প্রশ্নটি তার সম্পর্কে: ধীর ডেটাবেস কোয়েরি, অনুপস্থিত ইনডেক্স, অতিরিক্ত ওয়ার্কার, ডিপ্লয়ের পর অসীম লুপ। স্লোডাউন শুরু হওয়ার মুহূর্তটি লগের সঙ্গে মিলিয়ে দেখুন:

journalctl --since "1 hour ago" -p warning

ধাপ ৪: ইতিহাস দেখুন

প্যানেলে “Overview” খুলুন /hosting/vds/m/<id> এবং গত দিন ও সপ্তাহের গ্রাফগুলো দেখুন। তিনটি সাধারণ প্যাটার্ন:

  • নির্দিষ্ট মুহূর্তে ধাপে ধাপে বৃদ্ধি — কিছু পরিবর্তন হয়েছে: একটি ডিপ্লয়, একটি আপডেট, একটি নতুন ক্রন জব;
  • নির্ধারিত সময়ে নিয়মিত পিক — একটি ব্যাকগ্রাউন্ড টাস্ক; এটিকে রাতে সরান বা nice ও ionice দিয়ে সীমিত করুন;
  • সপ্তাহ ধরে সমান প্ল্যাটো — আপনি সহজেই আপনার টিয়ার ছাড়িয়ে গেছেন।

ফলাফল নিয়ে কী করবেন

বাধাদ্রুত পদক্ষেপদীর্ঘমেয়াদী সমাধান
CPUঅতিরিক্ত প্রসেস খুঁজে বন্ধ করুনবেশি কোরের টিয়ার
মেমরিওয়ার্কার ও ডেটাবেস বাফার সীমিত করুন, সোয়াপ যোগ করুনবেশি মেমরির টিয়ার
ডিস্কionice দিয়ে ব্যাকআপ সীমিত করুন, লগ ছাঁটুনউচ্চতর টিয়ার: কোর সংখ্যার সঙ্গে প্ল্যাটো বাড়ে
নেটওয়ার্ক--bwlimit দিয়ে ব্যাকগ্রাউন্ড ডাউনলোড সীমিত করুনট্রাফিকের উৎস খতিয়ে দেখুন

ডিস্ক প্ল্যাটো এভাবে হিসাব করা হয়: প্রতি কোরে ৬০ MB/s রাইট, ৬০-এর নিচে নয় এবং ৪০০-এর বেশি নয়, রিড দ্বিগুণ। যদি আপনি ধারাবাহিকভাবে প্ল্যাটোতে থাকেন, উপরে না উঠলে ডিস্ক আর দ্রুত হবে না — দেখুন Benchmark।

সাধারণ ভুল

  • সঙ্গে সঙ্গে মেশিন রিবুট করা। রিবুট চিত্রটি মুছে দেয়, আর এক ঘণ্টা পর সব আবার পুনরাবৃত্তি হবে। আগে সংখ্যাগুলো সংগ্রহ করুন।
  • একটি ফ্রেমের উপর ভরসা করা। htop শুরু করার মুহূর্তে একটি স্পাইক কিছুই বোঝায় না — এক মিনিট দেখুন।
  • ভরা মেমরিকে সমস্যা মনে করা। free নয়, available ও সোয়াপ দেখুন।
  • বুঝতে না পেরে টিয়ার পরিবর্তন করা। একটি মেমরি লিক বা লুপিং স্ক্রিপ্ট আপনার সঙ্গে নতুন টিয়ারেও চলে যাবে। আবার ডাউনগ্রেড করা সমর্থিত নয়।

যদি CPU, মেমরি ও ডিস্ক শান্ত থাকে কিন্তু অ্যাপ্লিকেশন ধীর হয়, তাহলে বাধা মেশিনের বাইরে: একটি ধীর বাহ্যিক API, DNS, বা ক্লায়েন্টের নেটওয়ার্ক। আপনার প্রয়োজনীয় ঠিকানায় curl -w '%{time_total}\n' -o /dev/null -s চেক করুন।