সফ্টওয়্যার স্কেলিবিলিটি কীভাবে পরিমাপ করা হয়?


21

নির্দিষ্ট অ্যাপ্লিকেশন স্কেলিবিলিটি সম্পর্কে আমাকে কিছু ছোট প্রযুক্তিগত উপস্থাপনা করতে বলা হয়েছিল। অ্যাপ্লিকেশনটি জাভা, স্প্রিং এমভিসি, হাইবারনেট ব্যবহার করে তৈরি করা হয়েছে। আমি অ্যাপ্লিকেশন উত্স কোড অ্যাক্সেস আছে।

আমি কীভাবে সফ্টওয়্যার স্কেল্যাবিলিটি (উত্সগুলি ব্যবহার করে) পরিমাপ করতে পারি এবং সফ্টওয়্যার স্কেলিবিলিটি পরিমাপ করার সময় আমার কী মেট্রিকগুলি দেখা উচিত?

উত্তর:


8

আমি এই বিষয়ে উইকিপিডিয়া নিবন্ধটি পড়তে শুরু করব ।

সংক্ষেপে, স্কেলাবিলিটিটি হ'ল কীভাবে আরও বেশি সংস্থান যুক্ত করার সাথে সিস্টেমের কার্যকারিতা বৃদ্ধি পায় বা বিকল্পভাবে, কীভাবে বাড়তি লোডের সাথে সংস্থানটির ব্যবহার বাড়বে । উদাহরণস্বরূপ, প্রতিক্রিয়া সময় 0.3 সেকেন্ডের বেশি না হওয়া অবধি কতগুলি সমবর্তী ব্যবহারকারী আপনার সাইট পরিচালনা করতে পারবেন? আপনি উপলব্ধ র‍্যাম / ডিস্ক / সিপিইউ / ইত্যাদি দ্বিগুণ করার পরে একই প্রশ্ন। কোন প্যারামিটারগুলি পরীক্ষা করা উচিত তা নির্ধারণ করার জন্য আপনি সম্ভবত অ্যাপ্লিকেশন ইন্টার্নাল সম্পর্কে আপনার জ্ঞান ব্যবহার করতে পারেন।

সার্ভার মেশিন এবং এক বা একাধিক ক্লায়েন্ট মেশিনের সাহায্যে একটি পরীক্ষা বেঞ্চ সেটআপ করুন। সার্ভারে উপলব্ধ সংস্থানগুলির পরিমাণ সীমিত করতে কিছু সরঞ্জাম ব্যবহার করুন (উদাঃ ulimit) বা সার্ভারে কিছু হস্তক্ষেপমূলক অ্যাপ্লিকেশন চালান। সার্ভার ক্লায়েন্টের অনুরোধগুলির সাথে কীভাবে আচরণ করে তা পরিমাপ করুন। উপরের ধীরে ধীরে ক্রমবর্ধমান / হ্রাস হস্তক্ষেপ লোড / উপলব্ধ সংস্থানগুলিতে পুনরাবৃত্তি করুন। শেষে আপনি এতে বিন্দু সহ এন-ডাইমেনশনাল স্পেস পাবেন। কিছু অন্যান্য সাধারণ মান (বা কয়েকটি মান) এ অন্য সমস্তকে ঠিক করার সময় একবারে কেবলমাত্র একটি পরামিতি পরিবর্তন করা সহজ। এই ক্ষেত্রে আপনি একটি অক্ষতে সার্ভারের কর্মক্ষমতা (যেমন ব্যবহারকারী / অনুরোধের সংখ্যা) এবং অন্যটিতে সংস্থান ব্যবহার / প্রাপ্যতা সহ 2 ডি গ্রাফগুলির একচ্ছত্র হিসাবে ফলাফলকে উপস্থাপন করতে পারেন।

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

আপনি যদি পুরো অ্যাপ্লিকেশনটি পরিমাপ করেন তবে সাধারণত আপনার উত্স কোড অ্যাক্সেসের প্রয়োজন হয় না। তবে কোডের কিছু নির্দিষ্ট অংশ (যেমন কেবলমাত্র ডিবি বা ইউআই) পরিমাপ করতে আপনি আকর্ষণীয় হতে পারেন। তারপরে আপনি পরিমাপের জন্য কেবলমাত্র এই মডিউলটি প্রকাশ করতে এবং আপনার পরীক্ষা চালানোর জন্য উত্স কোডটি ব্যবহার করতে পারেন। একে মাইক্রোবেঞ্চমার্ক বলা হয় ।

আপনি যদি উদাহরণগুলি সন্ধান করেন তবে একাডেমিক নিবন্ধগুলিতে প্রচুর পরিমাণ রয়েছে। পারফরম্যান্স মূল্যায়নের জন্য গুগল পণ্ডিত অনুসন্ধান করুন + আপনার পছন্দসই শর্তাদি।


1

স্কেলাবিলিটিটি সত্যিকারের অ্যাপ্লিকেশনগুলির জন্য কোনও পরিমাণযোগ্য সম্পত্তি নয়।

ব্যবহারিক ভাষায়, স্কেলাবিলিটিটি বিভিন্ন মাত্রায় বাড়ছে এমন কাজের চাপকে সমর্থন করতে সক্ষম হওয়া সম্পর্কে।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.