আপনি কতটা মেমরি কিনবেন তা অনুমান করবেন?


10

আমার একটি কাস্টম সার্ভার অ্যাপ্লিকেশন রয়েছে যা উইন্ডোজ 2008 আর 2 এ চলে। এটি একটি বাড়ির উত্সাহিত উইন্ডোজ পরিষেবা যা। লিখিত অনেকগুলি কাস্টম টার্মিনাল সমর্থন করে। আমার একটি টেস্ট মেশিন রয়েছে যা লাইভ সার্ভারের সাথে একই রকম স্পেসিফিকেশন রয়েছে এবং আমার কাছে ক্লায়েন্ট সিমুলেটরগুলির একটি সেট রয়েছে যা আমি লোড উত্পাদন করতে ব্যবহার করতে পারি যা আসল সিস্টেমের যুক্তিসঙ্গত আনুমানিক। এগুলির মধ্যে আমার 12,000 সমর্থন করতে সক্ষম হওয়া দরকার এবং বর্তমানে সার্ভারটির মেমরি শেষ হচ্ছে না (পেজিং ছাদ দিয়ে চলছে)।

আমার পরিকল্পনা ছিল কেবলমাত্র সিমুলেটরগুলির 100 টি শুরু করা, মেমরির ব্যবহার পরিমাপ করা, আবার আরও 100 টি পরিমাপ মেমরি শুরু করা এবং পেজিং শুরু হওয়া অবধি পুনরাবৃত্তি করুন (বাস্তবে আমি তিনটি এর বেশি পয়েন্ট গ্রহণ করব)) এটির জন্য আমার একটি চিত্র দেওয়া উচিত 100 সিমুলেটরগুলির জন্য অতিরিক্ত মেমরির পরিমাণ প্রয়োজন এবং কত মেমরি প্রয়োজন তা প্রজেক্ট করতে আমাকে সক্ষম করুন। সার্ভারের নেওয়া সম্পূর্ণ 2 টিবি ($ 150,000 মূল্য) কেনা এড়াতে আমার কেবল মোটামুটি ধারণা +/- 30Gb দরকার। আমার প্রশ্ন হ'ল এটি ব্যবহারের কোনও যুক্তিসঙ্গত পদ্ধতি কিনা এবং যদি কোন পারফরম্যান্স কাউন্টারগুলি প্রকৃতপক্ষে ব্যবহৃত মেমরির পরিমাণ দিতে আপনি নিরীক্ষণ করবেন?

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


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

এটি কী তা সম্পর্কে আপনাকে আরও একটি ভাল ধারণা দেওয়া দরকার। এটি কি ওয়েব? aspx? পিএইচপি? হোমগ্রাউন কিছু? ব্যাচের চাকরি? এসপ নেট এর আচরণটি কোনও বাক্সে চলমান লোড এক্সেসের চেয়ে আলাদা। সিস্টেম প্রতি ব্যবহারকারী - প্রায় হিসাবে কী ব্যবহার করে সে সম্পর্কে আপনার কিছু প্রাথমিক ধারণা প্রয়োজন। পরিসংখ্যান - এবং তারপরে একটি পুরানো খাম। আপনি কীভাবে এই পরিসংখ্যানগুলি পাবেন তা নির্ভর করে আপনার সিস্টেম কীভাবে কাজ করে।
ইয়ান মারফি

@Evan। আমি সর্বদা দুটির বেশি পয়েন্ট নিতে যাচ্ছিলাম।
মার্টিন ব্রাউন

@ আইয়ান: "ব্যবহারকারী ব্যবহারকারী প্রতি সিস্টেম কী ব্যবহার করে তার কিছু প্রাথমিক ধারণা" হুবহু আমি যা জানার চেষ্টা করছি। আমি যদি এটি জানতাম তবে আমাকে প্রশ্ন করার দরকার পড়েনি n't আপনার অন্যান্য বিষয়গুলি কভার করার চেষ্টা করার জন্য আমি প্রশ্নটি আপডেট করেছি।
মার্টিন ব্রাউন

উত্তর:


8

সত্যি বলতে? আমি না
যখন এমন সার্ভারটি নির্দিষ্ট করা হবে যা আমি যে কোনও ধরণের রিয়েল ওয়ার্কলোড দেখতে পাচ্ছি যতটা আমি যথাযথভাবে সাধ্যের সাথে সামর্থ্য রাখি (সিস্টেমগুলি সিপিইউ বা ডিস্কের সীমাবদ্ধতার চেয়ে র‌্যাম-সীমাবদ্ধ হতে পারে - কেবলমাত্র অন্য গ্যারান্টিযুক্ত বাধাটিই সামনের দিকের দিক বাস)।

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

আপনি যদি মোটামুটি সংখ্যাগুলি পেতে এবং সেখান থেকে এক্সট্রোপোলেট করার জন্য কোনও লোড পরীক্ষা করে থাকেন তবে কয়েকটি বিষয়ে ফ্যাক্টর রাখার বিষয়টি মনে রাখবেন:

  1. মেমরি কার্ভটি সম্ভবত দুটি স্বতন্ত্র বিভাগে থাকবে
    (ফ্রেমওয়ার্কগুলি / ভাগ করা লাইব্রেরিগুলি ক্যাশে হওয়ার সাথে সাথে প্রাথমিক শার্প র‌্যাম্প আপ হবে, তবে প্রতিটি নতুন অ্যাপ্লিকেশনটির অংশীদারিত্বযোগ্য কোড মেমরিতে রাখার কারণে কিছুটা কম খাড়া বাঁক হবে)

  2. আপনার এখনও ডিস্ক এবং ভাগ করা লাইব্রেরি ক্যাচিং এবং ওএসের জন্য নিখরচায় র‌্যাম দরকার need
    (এটি আপনার অ্যাপ্লিকেশনটির যা প্রয়োজন তার চেয়ে কমপক্ষে কয়েকটি জিগ হওয়া উচিত)

  3. সমস্ত সফ্টওয়্যার মেমরি ফাঁস করে (কমপক্ষে সমস্ত ব্যবহারিক সফ্টওয়্যার করে), তাই আপনার পরীক্ষার জন্য এটি দেখুন এবং নিশ্চিত হোন যে আপনার ফাঁস মোকাবেলার জন্য রুম রয়েছে।

  4. আপনার বোঝা সম্ভবত সার্ভারের আজীবন বৃদ্ধি পাবে। সেই অনুযায়ী পরিকল্পনা.
    (আপনার যদি ভাল ক্ষমতা পরিকল্পনার নম্বর না থাকে তবে আজকের কাজের চাপ দ্বিগুণ করুন এবং এটি পরিচালনা করার পরিকল্পনা করুন)।

  5. আপনার পরিবেশটি আগামীকাল পড়ার চেয়ে আজ খুব বেশি র্যাম কেনা সস্তা।

    • প্রথম তাত্পর্য: আপনার প্রয়োজনের তুলনায় আপনি যদি কিছুটা বড় সার্ভার কিনে থাকেন তবে আপনি সেই প্রেসিডেন্ট প্রশাসক যিনি সংস্থাটি চালিয়ে রেখেছিলেন। আপনি মূলত অবহেলিত এবং অপ্রয়োজনীয় হন।
    • দ্বিতীয় পরিণতি: আপনি যদি মেশিনটিকে ছোট আকারের করেন এবং সমস্যা হয় তবে আপনি অদক্ষ বাফুন যা 500% প্রবৃদ্ধির প্রত্যাশা করতে পারেন না এবং প্রত্যেকে আপনাকে ঘৃণা করে।

আমি প্রতীকগুলি অনুমোদন করি।
mfinni


তার জন্য ধন্যবাদ. যদিও আমাদের এই সিস্টেমটি লাইভ রয়েছে, বর্তমানে এটি একটি খুব ছোট পরীক্ষার পক্ষে সমর্থন করছে যার অর্থ আমি এ থেকে ভাল পরিসংখ্যান পেতে পারি না।
মার্টিন ব্রাউন

0

ধন্যবাদ, আপডেটটি কমপক্ষে প্রত্যেককে একটি ক্লু দেয়। আপনি 2Tb মেমরি নিয়ে ভাবছেন তার অর্থ আপনি সাধারণ সেটআপগুলিতে আলাদা বলপার্কে খেলছেন। বড় ব্যবস্থা। কত উত্তাপ তাড়াতাড়ি চলে যাচ্ছে তা ভেবে ঘৃণা করুন।

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

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

খামের গণনার দ্রুত পিছনে:

2Tb of memory = 1024Gb = 1024*1024Mb = 1048576Mb
1048576Mb / 13000 connections = around 80mb per session

এটি কোনও সাধারণ। নেট এক্সপের ওয়ার্কিং সেটের বাইরে থাকবে না।

পরিষেবাটিতে কি একাধিক থ্রেড রয়েছে? যদি তারা প্রতিটি সংযোগের জন্য কোনও থ্রেড চালু করে থাকে তবে তারা কীভাবে এটি করছে তা দেখার বিষয় হবে। আপনার একাধিক থ্রেড রয়েছে এবং সেই থ্রেডগুলি কী খাচ্ছে তা দেখার জন্য মাইক্রোসফ্ট থেকে প্রোকএক্স.এক্সপি একটি সহজ উপায়। এটি নেট সম্পর্কে জানে না তবে আপনাকে উইন 32 কাউন্টার দেবে।

এটি পরীক্ষা করতে শুরু করার আগে আপনি পরীক্ষা করতে গিয়ে কত মেমরি এবং কত সংযোগ ছিল তা আপনি চিহ্নিত করতে পারেন?

সুতরাং, সার্ভার প্রক্রিয়াটিতে মেমরি ফাঁসের সমস্যা থাকলে কীভাবে প্রতিষ্ঠিত করবেন? এটি প্রতিটি সেশনের সাথে যুক্ত হয়ে আরও মেমরির সংশ্লেষ হতে পারে, বা এটি মেমরি জমে থাকতে পারে এবং এগুলি কখনই মুক্ত করে না।

আপনি যা করতে পারেন তা হ'ল - বেশ কয়েকটি সেশন বেছে নিন যা পেজিংকে উস্কে দেয় না এবং সংখ্যার সংখ্যার অনুকরণ করে না। - কয়েক ঘন্টা ধরে সিমুলেশনটি চালনা করুন এবং মৌলিক মেমরি কাউন্টারগুলি দেখার জন্য পারফোন ব্যবহার করুন। - এই পরীক্ষাগুলি সেশনগুলির সাথে পুনরাবৃত্তি করুন যা সংক্ষেপে সংযোগ এবং সংযোগ বিচ্ছিন্ন হয়ে যায়।

পরিষেবাটি প্রতিটি সেশনের সাথে আরও বেশি বেশি মেমরি গ্রাস করছে কিনা তা দেখার ধারণা, বা যদি খোলা সেশনগুলি মেমরির ব্যবহারকে বাড়িয়ে তোলে।

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