প্রায়শই, আমাদের সাইটে, ডেবিয়ান-স্থিতিশীল ভিত্তিক অ্যাপ্লিকেশনটি একটি ভার্চুয়াল মেশিনে চালিত হয় - সাধারণত ভিএমওয়্যার ইএসসিআই-তে। সাধারণ ক্ষেত্রে আমাদের ভার্চুয়ালাইজেশন পরিবেশের মধ্যে দৃশ্যমানতা বা প্রভাব নেই এবং যেমন ভিএমওয়্যার ভিসেন্টার ক্লায়েন্ট বা সমমানের অ্যাক্সেস নেই। আমি এখানে ভিএমওয়্যারের উপর ফোকাস করছি, কারণ এটি এখন পর্যন্ত দেখা সবচেয়ে সাধারণ।
আমরা চাই:
- কোনও গ্রাহকের ভিএমওয়্যার অ্যাডমিনকে বলুন: আপনি আমাদের অ্যাপ্লিকেশনটি চালাতে পারেন যেমন আপনার ভিএমওয়্যার ইএসএক্স পরিবেশ, যতক্ষণ না এটি এক্স, ওয়াই এবং জেডের পারফরম্যান্সের মানদণ্ডের সাথে পূরণ করে as
- এক্স, ওয়াই এবং জেড মানদণ্ড আসলে ক্রমাগত মিলিত হয় কিনা তা নির্ধারণ করতে সক্ষম হন (উদাহরণস্বরূপ এখনই ) এমনকি চলমান সিস্টেমেও (আমরা আমাদের অ্যাপ্লিকেশনটি থামাতে পারি না এবং বেঞ্চমার্ক চালাতে পারি না, এবং প্রাথমিক মানদণ্ডই যথেষ্ট হবে না, কারণ পারফরম্যান্সে পারফরম্যান্স) ভার্চুয়াল পরিবেশ সময়ের সাথে সাথে পরিবর্তন হয়)।
- আস্থা রাখুন যে এক্স, ওয়াই এবং জেডের মানদণ্ডগুলি পূরণ করা হলে, সন্তোষজনক পারফরম্যান্স সহ আমাদের অ্যাপ্লিকেশন চালানোর জন্য আমাদের পর্যাপ্ত ভার্চুয়াল এইচডাব্লু সংস্থান থাকবে।
এখন এক্স, ওয়াই এবং জেড কি?
আমরা বারবার দেখেছি যে যখন পারফরম্যান্সের সমস্যা হয় তখন সমস্যাটি আমাদের অ্যাপ্লিকেশনটির সাথে নয়, তবে ভার্চুয়ালাইজেশন পরিবেশের সাথে। উদাহরণস্বরূপ অন্য একটি ভার্চুয়াল মেশিন প্রচুর পরিমাণে সিপিইউ, মেমরি বা SAN ব্যবহার করে যার উপর ডিস্কগুলি প্রকৃতপক্ষে সংরক্ষণ করা হয় আমাদের অ্যাপ্লিকেশন ব্যতীত অন্য কোনও কিছু দ্বারা use আমাদের কাছে বর্তমানে এটি প্রমাণ বা অস্বীকার করার কোনও উপায় নেই।
তাত্ত্বিকভাবে এটিও সম্ভব হতে পারে যে কখনও কখনও আমাদের অ্যাপ্লিকেশনটি ধীর হয় ... ;-)
কীভাবে কেউ আমাদের পারফরম্যান্স সমস্যার মূল কারণ নির্ধারণ করতে পারে: ভার্চুয়াল পরিবেশ বা আমাদের প্রয়োগ?
পারফরম্যান্স সমস্যার জন্য সাধারণত 3 টি ক্ষেত্র রয়েছে সিপিইউ, মেমরি এবং ডিস্ক আই / ও।
সিপিইউ
উদাহরণস্বরূপ, ভিএমওয়্যার অ্যাডমিনিস্ট্রেটরে রিজার্ভেশন এবং সীমা নির্দিষ্ট করতে পারেন, যা মেগাহার্টজ-এ প্রকাশিত হয়েছে, তবে উদাহরণস্বরূপ, কোনও ইএসএক্স হোস্টের 512 মেগাহার্জ অন্য ইএসএক্স হোস্টের ঠিক একই, সম্ভবত সম্পূর্ণ ভিন্ন ইএসএক্স ক্লাস্টারে?
এবং কীভাবে একজনের পরিমাপ হয় যে আমরা আসলে তা পাই? আমাদের অ্যাপ্লিকেশন চলাকালীন, আমরা সম্ভবত দেখতে পাচ্ছি যে আমরা 4 টি সিপিইউতে 212% সিপিইউ ব্যবহার করছি। আমাদের অ্যাপ্লিকেশন প্রচুর কাজ করছে বা একই হোস্টের অন্য কোনও ভিএম একটি সিপিইউ নিবিড় কাজ চালাচ্ছে এবং সমস্ত সিপিইউ ব্যবহার করছে বলেই কি?
স্মৃতি (বেলুনিং?)
যদি আমরা উদাহরণস্বরূপ 16 গিগাবাইট র্যামের জন্য জিজ্ঞাসা করি তবে এটি প্রায়শই কনফিগার করা থাকে তবে বেলুনিংয়ের কারণে আমরা আসলে কেবল 4 গিগাবাইট পাই, এবং অবাক করে দিই, আমাদের অ্যাপ্লিকেশনটি খারাপভাবে সম্পাদন করে।
কেউ বর্তমান বেলুনিংয়ের বিষয়ে ভিএমওয়্যার সরঞ্জামগুলি জিজ্ঞাসা করতে পারে তবে আমরা পেয়েছি যে এটি প্রায়শই মিথ্যা থাকে (বা কমপক্ষে ভুল হয় না)। আমরা উদাহরণগুলি দেখেছি যেখানে ওএস মনে করে সেখানে 16 গিগাবাইট মোট র্যাম রয়েছে, সমস্ত প্রক্রিয়াটির আবাসিক মেমরি (আরএসএস) এর যোগফল 4 জিবি র্যাম, তবে ভিএমওয়্যার সরঞ্জামগুলি আমাদের বলায় 0 টি ব্যালুনিং রয়েছে এমনকী কেবল 2 জিবি র্যাম মুক্ত রয়েছে: - (
এছাড়াও, আরএসএসকে কেবল একসাথে যুক্ত করা বৈধ নয়, যেমন সহজেই ভাগ করা যায় র্যাম সুতরাং কোনও র্যাম কতটা মুক্ত হওয়া উচিত এবং এর মাধ্যমে নির্ভরযোগ্যভাবে বেলুনিং শনাক্ত করা যায় তার একটি পরিমাপ পেতে কেবল সমস্ত প্রক্রিয়া থেকে আরএসএসকে বিয়োগ করা যায় না। কেউ বেলুনিংয়ের কয়েকটি ক্ষেত্রে সনাক্ত করতে পারে তবে অন্যান্য ক্ষেত্রেও রয়েছে যেখানে বেলুনিং কার্যকর রয়েছে, তবে এই পদ্ধতি দ্বারা সনাক্তযোগ্য নয়।
ডিস্ক I / O
আমি অনুমান করি যে সময়ের সাথে সাথে আমরা ডিস্কের সংখ্যা পড়তে এবং লিখতে, পড়তে এবং লিখিত বাইটের সংখ্যা এবং আইও% অপেক্ষা করতে পারে graph কিন্তু এটি কি ডিস্ক আই / ও এর সঠিক চিত্র দেবে? আমি কল্পনা করি যে যদি সমস্ত সিপিইউ ব্যবহার করে অন্য কোনও ভিএম-তে বিটকয়েন মাইনার চলমান থাকে তবে অন্তর্নিহিত এসএএন ঠিক একই পারফরম্যান্স দেয় এমনকি আমাদের সিপিইউ উত্সগুলি হ্রাস পাওয়ায়, এবং তাই আইও অপেক্ষা করুন ( যা% এ পরিমাপ করা হয় ) উপরে যায়।
সুতরাং সংক্ষেপে, কোন ভাষা আমরা উদাহরণস্বরূপ কোনও ভিএমওয়্যার অ্যাডমিনকে বর্ণনা করতে ব্যবহার করতে পারি, আমাদের কী পারফরম্যান্স প্রয়োজন, একটি বহনযোগ্য এবং পরিমাপযোগ্য উপায়ে?
"It runs fine with x, y, and z"
যথেষ্ট সুনির্দিষ্ট নয়। আপনার অ্যাপ্লিকেশনটির কী প্রয়োজন তা আপনার গ্রাহকদের অবশ্যই অবহিতভাবে বলতে সক্ষম হবেন। যদি তারা আপনাকে সেই সংস্থান দেয় এবং অ্যাপ্লিকেশনটি খারাপভাবে কাজ করে তবে প্রশ্নটি নয় "What do we need from a resource perspective?"
,"Why is it performing poorly even though the proper resources have been allocated?"