সার্ভারগুলি সর্বদা সর্বাধিক কেন চালায় না?


12

এটি এমন একটি প্রশ্ন যা আমাকে কিছুদিন ধরে বিরক্ত করে চলেছে এবং আমি অনলাইনে এমন কোনও বিষয় খুঁজে পাব না যা এ সম্পর্কে কথা বলে। আমার কাছে একটি সার্ভার চলছে যা ভিএমওয়্যার হাইপারভাইজার ইএসএক্সি চালাচ্ছে। আমি যখন এটিতে ভার্চুয়াল মেশিনগুলি বুট করি তখন এগুলি সাধারণত বুট আপ করতে ২-৩ মিনিট সময় নেয়; ভয়াবহ দীর্ঘ সময় নয়, তাত্ক্ষণিক নয়। যাইহোক, আমি যখন সার্ভারে পারফরম্যান্স লগগুলি দেখি তখন প্রসেসর, র‍্যাম, বা ডিস্কের ব্যবহার প্রায় 100% নয়; সাধারণত তাদের গড় প্রায় 60% -80% হয় তাই সার্ভারের যদি কাজ করার থাকে তবে এটি এটি 100% এ কেন করে না?

আমার কাছে মনে হচ্ছে যে কোনও মুহুর্তে, যে উপাদানটি পারফরম্যান্সকে সীমাবদ্ধ করছে এটি 100% এ চালানো উচিত। উদাহরণস্বরূপ, আমার যদি সত্যিই ধীর হার্ড ড্রাইভ থাকে তবে এটি প্রায় সর্বদা 100% এ চালানো উচিত। অতএব, সার্ভার সম্পূর্ণ নিষ্ক্রিয় না হওয়া পর্যন্ত কমপক্ষে একটি ক্ষেত্রে (প্রসেসর, র‌্যাম, ডিস্ক এবং নেটওয়ার্ক) সর্বদা 100% থাকা উচিত।

কেন এই মামলা হয় না?


পুরানো লিনাক্স বিতরণগুলি সিস্টেমেডের উপর ভিত্তি করে নয়, দক্ষতার সাথে প্রারম্ভিক সমান্তরাল করতে পারেনি। * বিএসডিরা এখনও এতে ভোগে। একটি আধুনিক লিনাক্স ডিস্ট্রো বুট করুন এবং দেখুন কীভাবে এটি আলাদা।
মাইকেল হ্যাম্পটন

উত্তর:


18

দেরি করার একটি কারণ হবে। "অন্য কিছু করার আগে আমার" এই ডিস্কের প্রয়োজন আমার এই ডিস্কের মধ্যে থাকা ব্যবস্থার ফলে ডেটা ফিরে আসার সময় সেই সময়ের জন্য সিপিইউ নিষ্ক্রিয় হয়ে যাবে।

সংস্থানগুলি সম্ভবত 100% এ চালিত হয় তবে খুব সংক্ষিপ্ত সময়ের জন্য। একটি অপারেটিং সিস্টেম বুট করা "প্রক্রিয়া বা কিছু সিদ্ধান্ত নেওয়ার, ডিস্ক থেকে কিছু আনতে, মেমরিতে কিছু করতে, কোনও ডিভাইস দিয়ে কিছু করার" এর সাধারণ প্যাটার্ন অনুসরণ করে, প্রতি সেকেন্ডে বহুবার পুনরাবৃত্তি করে। সুতরাং আপনি যখন 2 সেকেন্ড সময়কালে 25% এ কোনও ডিস্ক দেখেন যার সম্ভবত এটি সম্ভবত 0.5 সেকেন্ডের জন্য 100% এ চলেছে তখন বাকি সময়টি অলস থাকে।

যেমনটি EEAA দেখিয়েছে মাল্টিকোর সিস্টেমগুলি এটিকে আরও জটিল করে তোলে। সিপিইউতে থাকা একক থ্রেডেড সফটওয়্যার যা চারটি থ্রেড কার্যকর করতে পারে কেবলমাত্র 25% পুরো গতিতে চলতে পারে। এমনকি মাল্টিথ্রেডেড সফ্টওয়্যারটি খুব কমই 100% হিট করতে পারে, কারণ ডেটা প্রবাহিত (সাধারণত) হার্ড ড্রাইভ থেকে, র‍্যামে, ক্যাশে, সিপিইউতে। পাইপলাইন পূর্ণ রাখা কঠিন, এবং বেশিরভাগই ভিডিও এনকোডিংয়ের মতো অনুমানযোগ্য কাজের চাপের সাথে ঘটে। এক্ষেত্রে অপারেটিং সিস্টেমটি পড়ার নিদর্শনগুলি পর্যবেক্ষণ করতে এবং প্রয়োজনীয়তার আগে ডেটা পুনরুদ্ধার করতে পারে, যথাযথ ক্যাশেগুলিতে রাখে যেমন র‌্যামে ডিস্ক ক্যাশে।


16

আপনি এটিকে খুব সরল পদ্ধতিতে ভাবছেন, যা আপনাকে কিছু ভুল অনুমানের কারণ করছে, যা আমি চেষ্টা করে পরিষ্কার করব।

প্রথম, এবং সম্ভবত সবচেয়ে সহজভাবে, একটি মাল্টিকোর সিস্টেমে, সিপিইউ ব্যবহার বুঝতে হলে আপনাকে প্রক্রিয়া লোড মাল্টিথ্রেড করা হয়েছে কিনা এবং একাধিক কোরের সুবিধা নেওয়ার জন্য ডিজাইন করা হয়েছে তা বিবেচনায় নিতে হবে। যদি এটি না হয় তবে প্রক্রিয়াগুলির চলমান মিশ্রণের উপর নির্ভর করে আপনি কখনও 100% ব্যবহার দেখতে পাবেন না। কখনো।

দ্বিতীয়ত, আপনাকে আইও ডিভাইসের কর্মক্ষমতা বিবেচনা করতে হবে। আপনার সিস্টেমটি কীভাবে জানতে পারে, উদাহরণস্বরূপ, আপনার ডিভাইসগুলিতে কতগুলি আইওএস সক্ষম? এটা হয় না। আপনার দেখার জন্য আরও অর্থবহ মেট্রিক হ'ল iowaitবুটের সময় আপনার মূল্য (যা বুট প্রক্রিয়া চলাকালীন পাওয়া কঠিন) বা বুট চলাকালীন ডিস্কের সারি / বিন্দু (যা আপনার হাইপারভাইসারের কাছ থেকে নেওয়া সহজতর হবে)। আপনি যদি সারি বা বিলম্বিত স্পাইকটি দেখতে পান তবে সম্ভবত আপনার আইও ডিভাইসগুলি আপনার কার্য সম্পাদন সংক্রান্ত সমস্যার ক্ষেত্রে অবদান রাখার কারণ।


11

আমি এখন প্রায় 20 বছর ধরে সার্ভারের সাথে কাজ করছি, যখন কোনও উপাদান সর্বদা 100% চলমান থাকে তখন এটি সাধারণত ভাল জিনিস নয়।

উদাহরণস্বরূপ, আসুন আমরা বলি যে আপনার কাছে একটি এসকিউএল ডাটাবেস রয়েছে যা আপনি ডিস্কে অদলবস্ত করতে চান না বরং পরিবর্তে সম্পূর্ণরূপে মেমরির বাইরে চলে যেতে চান।

যদি আপনার ডাটাবেসটি 24 জিবি হয় এবং ওএসের 8 গিগাবাইট প্রয়োজন হয় আপনি কেবল মেশিনের জন্য 32 গিগাবাইট র‌্যাম বরাদ্দ করতে চাইবেন না, এমন অনেকগুলি "জিনিস" রয়েছে যা ভুল, খারাপ কোড, ডিডিওএস, ভারী অ্যাপ্লিকেশন ব্যবহার করতে পারে, কে জানে, কোনও মাথা ঘর না থাকা আপনি কীভাবে জানবেন যে সার্ভারটি সমস্যায় পড়েছে?

আমাদের ডেটা সেন্টারে আমাদের প্রায় 2000 সার্ভার রয়েছে, আমরা দেখতে চাই যে এগুলি সমস্ত প্রায় 75% সিপিইউ এবং র‌্যামে চলছে, এইচএইচডি স্পেসটি আমাদের সান এ রয়েছে যাতে এটি মোমের সম্পূর্ণ আলাদা বল। তারা 85% সিপিইউ বা র‌্যাম কখন আঘাত করবে তা আমাদের জানাতে সতর্কতা রয়েছে এবং তারা 90% হিট করার সময় অ্যালার্মগুলি আমাদের জানায়।


আমি মনে করি আপনি এখানে কিছুটা ট্র্যাক পেয়েছেন। আমি বলেছিলাম যে আমি ভার্চুয়াল মেশিনগুলি চালাচ্ছি, সুতরাং একটি ধারাবাহিক লোড রয়েছে যা একটি ডাটাবেস সার্ভারের চেয়ে খুব আলাদা, এটি যখন অনুরোধ আসে এবং সংস্থানগুলি বরাদ্দ করে তখন চলে। সীমাবদ্ধ পারফরম্যান্স ফ্যাক্টর যা-ই হোক না কেন, কীভাবে সেই সংস্থানগুলি বরাদ্দ করা হয় তা নিয়ে আমি বেশি উদ্বিগ্ন ছিলাম। তবে উত্তরের জন্য ধন্যবাদ!
কর্নেল স্টার্নস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.