top
এর মত টুল , uptime
, w
এবং AppSignal এর হোস্ট মেট্রিক্স লোড গড় নামে একটি মেট্রিক রিপোর্ট করে . এই মেট্রিকটি আপনাকে বলে যে আপনার সিস্টেমটি কত লোডের অধীনে ছিল, একাধিক টাইমফ্রেমের গড়।
$ uptime
10:14:14 up 60 days, 17:42, 1 user, load average: 0.44, 0.28, 0.25
লোড গড় সাধারণত তিনটি সংখ্যা হিসাবে প্রদর্শিত হয়, যেমন uptime
থেকে উদাহরণে উপরে ফলাফলের শেষে তিনটি সংখ্যা শেষ মুহূর্তের গড় লোড দেখায় (0.44
), শেষ পাঁচ মিনিটে (0.28
), এবং শেষ পনেরটি (0.25
)।
AppSignal-এ, লোড গড় গত আট ঘণ্টার জন্য মিনিটে এবং তার চেয়ে বেশি সময়ের জন্য প্রতি ঘণ্টায় দেখানো হয়।
সিস্টেম লোড
এই লোড গড়গুলি আমাদের কী বলে (এবং কখন শঙ্কিত হবেন) তা বোঝার জন্য, আমাদের প্রথমে বুঝতে হবে কী সিস্টেম লোড মানে, এবং কিভাবে এটি গণনা করা হয়।
একটি সিস্টেমের লোড মূলত কোনো নির্দিষ্ট সময়ে সক্রিয় প্রসেসের সংখ্যা। নিষ্ক্রিয় থাকলে, লোড হয় 0। যখন একটি প্রক্রিয়া শুরু হয়, লোড 1 দ্বারা বৃদ্ধি পায়। একটি সমাপ্ত প্রক্রিয়া 1 দ্বারা লোড হ্রাস করে। চলমান প্রক্রিয়াগুলির পাশাপাশি, সারিবদ্ধ যে কোনও প্রক্রিয়াও গণনা করা হয়। সুতরাং, যখন একটি প্রক্রিয়া সক্রিয়ভাবে CPU ব্যবহার করছে, এবং দুটি তাদের পালা অপেক্ষা করছে, তখন লোড হয় 3।
স্বল্পস্থায়ী প্রক্রিয়ার কারণে লোড দ্রুত ওঠানামা করে এবং মিলিসেকেন্ডে শূন্য থেকে 5 এ লাফিয়ে পরের মুহূর্তে আবার ফিরে যেতে পারে। এই অস্থিরতার কারণে, সময়ের সাথে সাথে গড় লোডের দিকে তাকানো আরও কার্যকর, যা সিস্টেমটি যে লোডের অধীনে ছিল তার একটি ভাল ওভারভিউ দেয়৷
লোড গড়
এখন যেহেতু আমরা জানি কিভাবে সিস্টেম লোড গণনা করা হয়, আমরা লোড গড়গুলি একবার দেখতে পারি। আমরা যেমন দেখেছি, সিস্টেমটি যে লোডের অধীনে থাকে তা সাধারণত সময়ের সাথে গড় হিসাবে দেখানো হয়৷
৷সাধারণত, একক-কোর CPU একবারে একটি প্রক্রিয়া পরিচালনা করতে পারে। গড় 1.0 লোডের অর্থ হল একটি কোর 100% ব্যস্ত থাকে। লোড গড় 0.5 এ নেমে গেলে, CPU 50% সময়ের জন্য নিষ্ক্রিয় থাকে।
যদি লোড গড় 1.5-এ বেড়ে যায়, CPU সব সময় ব্যস্ত থাকে যখন (গড়ে) অন্য একটি প্রক্রিয়া 50% সময়ের জন্য অপেক্ষা করত, CPU-কে এটি পরিচালনা করার চেয়ে বেশি কাজ দেয়।
লজিক্যাল প্রসেসর
থাম্বের সাধারণ নিয়ম হল যে লোড গড় মেশিনে প্রসেসরের সংখ্যা অতিক্রম করা উচিত নয়। প্রসেসরের সংখ্যা চার হলে, লোড সাধারণত 4.0-এর নিচে থাকা উচিত।
মনে রাখবেন যে এটি লজিক্যাল প্রসেসরের সাথে সম্পর্কিত CPU-তে প্রকৃত ফিজিক্যালের পরিবর্তে। হাইপার-থ্রেডিংয়ের মতো সফ্টওয়্যার বিমূর্ততার কারণে, লজিক্যাল প্রসেসরের সংখ্যা বা প্রসেসিং থ্রেড, ফিজিক্যাল প্রসেসর কোরের সংখ্যার চেয়ে বেশি হতে পারে।
লিনাক্সে লজিক্যাল প্রসেসরের পরিমাণ পরীক্ষা করতে, /proc/cpuinfo
-এ তালিকাভুক্ত প্রসেসরের সংখ্যা গণনা করুন , অথবা grep processor /proc/cpuinfo | wc -l
, যা স্বয়ংক্রিয়ভাবে প্রসেসর লাইনের সংখ্যা প্রিন্ট করবে।
একটি ম্যাকে, আপনি sysctl
জিজ্ঞাসা করতে পারেন সরাসরি sysctl -n hw.ncpu
ব্যবহার করে লজিক্যাল প্রসেসরের সংখ্যার জন্য .
একাধিক যৌক্তিক প্রসেসর সহ একটি সিস্টেমের জন্য, লোড গড় উচ্চতর হতে পারে, কারণ এটি আরও সমসাময়িক প্রক্রিয়া চালাতে পারে। দুটি সিপিইউ কোর সহ একটি মেশিনে, গড় লোড 2.0 মানে উভয় সিপিইউ 100% ব্যবহার করা হয়েছে, যখন দুটি প্রক্রিয়া গড়ে সক্রিয় ছিল।
👋 আমাদের রুবি পারফরম্যান্স মনিটরিং চেকলিস্টে অন্যান্য রুবি (রেলগুলিতে) পারফরম্যান্স নিবন্ধগুলি দেখুন৷
পড়ার লোড গড়
যেহেতু এটি পরম সংখ্যার প্রসেসের গড়, তাই সঠিক লোড গড় কী এবং কখন শঙ্কিত হতে হবে তা নির্ধারণ করা কঠিন বলে মনে হতে পারে। সাধারণভাবে, যেহেতু আপনার প্রতিটি সিপিইউ কোর একবারে একটি প্রক্রিয়া পরিচালনা করতে পারে, যতক্ষণ না এটি লজিক্যাল প্রসেসর প্রতি 1.0-এর বেশি না যায় ততক্ষণ পর্যন্ত সিস্টেমটি ওভারলোড হয় না। একটি ডুয়াল-কোর সিস্টেমে (হাইপার-থ্রেডিং ছাড়া), এটি 2.0 হবে।
সাধারণত, শেষ মিনিটের চিহ্নে লোড গড় প্রতি কোর 1.0-এর উপরে হলে এটি ভাল, তবে পাঁচ বা পনের মিনিটের গড় লোড একটি সমস্যা নির্দেশ করতে পারে৷
টিপ :যখন আপনার লোড গড় একটি নির্দিষ্ট সময়ের জন্য একটি নির্দিষ্ট মানের উপরে থাকে তখন আপনাকে একটি সতর্কতা খুলতে AppSignal-এর অসঙ্গতি সনাক্তকরণ ব্যবহার করা যেতে পারে। ওয়ার্ম-আপ সেটিং ব্যবহার করে, উদাহরণস্বরূপ, পনের মিনিটের জন্য আপনার লোড 1.5 এর উপরে থাকলে আমরা আপনাকে একটি বার্তা পাঠাব।
আমরা কি লোড গড় সম্পর্কে আপনার প্রশ্নের উত্তর দিয়েছি, নাকি কিছু অংশ এখনও পুরোপুরি পরিষ্কার নয়? অনুগ্রহ করে আমাদের @AppSignal এ জানাতে দ্বিধা করবেন না। অবশ্যই, আমরা জানতে চাই যে আপনি এই নিবন্ধটি কেমন পছন্দ করেছেন, অথবা আপনার যদি অন্য কোন বিষয় থাকে যে সম্পর্কে আপনি আরও জানতে চান।