অপারেটিং সিস্টেম, স্থায়ী পরিষেবা এবং হেডরুম সহ বাস্তবসম্মত কনকারেন্সির জন্য মেমরি চয়ন করুন। কোন কাজগুলি ব্যস্ত, সেগুলি সমান্তরালে চলে কিনা এবং ব্যবহারকারীরা প্রকৃতপক্ষে কী বিলম্ব অনুভব করেন তা পরিমাপ করার পরে CPU চয়ন করুন।
স্বাভাবিক কাজ এবং ব্যস্ত কাজ আলাদাভাবে বর্ণনা করুন
একা দর্শক সংখ্যা একটি দুর্বল সাইজিং ইনপুট। একটি অনুরোধ একটি ক্যাশে করা ফাইল পরিবেশন করতে পারে যখন অন্যটি একটি প্রতিবেদন তৈরি করে বা অনেক টেবিল কোয়েরি করে। VPS ভাগ করে নেবে এমন ওয়েব ওয়ার্কার, ডেটাবেস, ক্যাশে, সারি ভোক্তা এবং রক্ষণাবেক্ষণ কাজের তালিকা করুন। স্বাভাবিক কনকারেন্সি এবং প্রত্যাশিত ব্যস্ততম অপারেশন বর্ণনা করুন। নির্ধারিত রপ্তানি, প্যাকেজ আপডেট এবং স্থাপনা অন্তর্ভুক্ত করুন তাদের অদৃশ্য পটভূমি কার্যকলাপ হিসাবে বিবেচনা না করে।
একটি বিদ্যমান প্রকল্পের জন্য, একটি ব্যস্ত উইন্ডো সহ একটি প্রতিনিধি সময়কাল সংগ্রহ করুন। সম্পদ ব্যবহারের সাথে প্রতিক্রিয়া সময় এবং ত্রুটি রেকর্ড করুন। একটি নতুন প্রকল্পের জন্য, বাস্তবসম্মত অনুরোধের আকার এবং ডেটা আকার সহ একটি ছোট পরীক্ষা তৈরি করুন। আপনার প্রাথমিক অনুমান অসম্পূর্ণ হবে; উপযোগী লক্ষ্য হল একটি নথিভুক্ত সূচনা বিন্দু যা আপনি বিতরণের পরে পরিমাপ করা আচরণের সাথে তুলনা করতে পারেন।
প্রক্রিয়া যোগ করার আগে মেমরি বাজেট তৈরি করুন
মেমরি চাহিদা সিস্টেম, স্থায়ী অ্যাপ্লিকেশন পরিষেবা, প্রতি-ওয়ার্কার ব্যবহার এবং অস্থায়ী অপারেশন থেকে আসে। একটি ওয়ার্কারের ফুটপ্রিন্টকে একটি পরিকল্পিত কনকারেন্সি দ্বারা গুণ করা একটি মোটামুটি পরিকল্পনা সরঞ্জাম, একটি গ্যারান্টি নয়, কারণ ভাগ করা মেমরি এবং ক্যাশে মোটকে জটিল করে তোলে। লোডের অধীনে প্রকৃত প্রক্রিয়াগুলি পর্যবেক্ষণ করুন। যথেষ্ট জায়গা ছেড়ে দিন যাতে একটি রক্ষণাবেক্ষণ কাজ অ্যাপ্লিকেশনকে প্রতিটি অবশিষ্ট পৃষ্ঠার জন্য প্রতিযোগিতা করতে বাধ্য না করে।
ডেটাবেস সেটিংস অপ্রত্যাশিতভাবে মেমরি ব্যবহার গুণ করতে পারে। PostgreSQL নথিভুক্ত করে যে work_mem কোয়েরি অপারেশনে প্রযোজ্য, এবং বেশ কয়েকটি অপারেশন বা সেশন একসাথে চলতে পারে। তাই একটি সেটিং যা বিচ্ছিন্নভাবে পরিমিত দেখায় তার একটি বড় সিস্টেম প্রভাব থাকতে পারে। আপনার ডেটাবেসের নিজস্ব নির্দেশিকা পড়ুন, বাস্তবসম্মত কনকারেন্সি পরীক্ষা করুন এবং প্রতিটি বিজ্ঞাপিত গিগাবাইট একটি একক ক্যাশে বরাদ্দ করা এড়িয়ে চলুন।
CPU ব্যবহার এবং উপযোগী সমান্তরালতা আলাদা করুন
একটি প্রসেসর গণনা আপনাকে বলে যে গেস্টকে কতগুলি সম্পাদন সম্পদ উপস্থাপন করা হয়, আপনার সফ্টওয়্যার সেগুলি কতটা দক্ষতার সাথে ব্যবহার করতে পারে তা নয়। একটি ব্যস্ত থ্রেড একটি অ্যাপ্লিকেশন সীমাবদ্ধ করতে পারে যখন অন্যান্য কোর নীরব থাকে। ওয়ার্কার যোগ করা স্বাধীন অনুরোধে সহায়তা করতে পারে, কিন্তু এটি ডেটাবেস প্রতিযোগিতা এবং মেমরি চাহিদাও বাড়াতে পারে। ধরে নেওয়ার আগে অ্যাপ্লিকেশনের কনকারেন্সি মডেল পরীক্ষা করুন যে দ্বিগুণ কোর গণনা দ্বিগুণ থ্রুপুট উৎপাদন করে।
KVM ভার্চুয়াল মেশিনগুলিকে তাদের নিজস্ব ভার্চুয়াল হার্ডওয়্যার সরবরাহ করে। এটি প্রতিটি vCPU লেবেলকে হোস্ট এবং প্রসেসর প্রজন্ম জুড়ে একটি অভিন্ন বেঞ্চমার্কে পরিণত করে না। যেখানে উপলব্ধ সেখানে তালিকাভুক্ত CPU মডেল এবং বরাদ্দ শর্তাবলী তুলনা করুন, তারপর আপনার নিজের ওয়ার্কলোড দিয়ে পরিষেবাটি মূল্যায়ন করুন। একটি সংক্ষিপ্ত সিন্থেটিক স্কোর থেকে একটি ক্রয় সিদ্ধান্ত আঁকা এড়িয়ে চলুন যা অ্যাপ্লিকেশনের সাথে সাদৃশ্যপূর্ণ নয়।
শুধুমাত্র গড় নয়, চাপ এবং অপেক্ষা খুঁজুন
একটি সিস্টেম উচ্চ গড় CPU শতাংশ বজায় না রেখে ধীর অনুভব করতে পারে। প্রক্রিয়াগুলি স্টোরেজ, মেমরি পুনরুদ্ধার বা অন্য পরিষেবার জন্য অপেক্ষা করতে পারে। Linux কার্নেলের Pressure Stall Information সমর্থিত সিস্টেমে CPU, মেমরি এবং I/O স্টল তথ্য প্রকাশ করে। এই সংকেতগুলি স্বাভাবিক ব্যবহার মেট্রিক এবং অ্যাপ্লিকেশন সময়ের সাথে সম্পদ প্রতিযোগিতা সনাক্ত করতে সহায়তা করতে পারে।
মেট্রিকগুলি একসাথে পড়ুন। টেকসই মেমরি চাপ, সোয়াপিং, ব্যর্থ বরাদ্দ এবং ধীর অনুরোধ একটি একক ব্যস্ত কম্পিউট ওয়ার্কার থেকে একটি ভিন্ন হস্তক্ষেপের দিকে ইঙ্গিত করে। স্টোরেজ অপেক্ষা কোয়েরি পরিবর্তন বা একটি ভিন্ন ডিস্ক প্রোফাইল ন্যায্যতা দিতে পারে। একটি বাহ্যিক API বিলম্ব স্থানীয় RAM যোগ করে মেরামত করা হবে না। কোন সম্পদ বাড়াতে হবে তা বেছে নেওয়ার আগে পর্যবেক্ষণ করা সীমাবদ্ধতা ব্যাখ্যা করুন।
| পর্যবেক্ষণ করা আচরণ | তদন্ত করার প্রশ্ন | সম্ভাব্য পরবর্তী পদক্ষেপ |
|---|---|---|
| একটি থ্রেড ব্যস্ত, অতিরিক্ত কোর নীরব | এই কাজটি কি সমান্তরালে চলতে পারে? | কাজটি উন্নত করুন বা ওয়ার্কার ডিজাইন পরিবর্তন করুন |
| একটি প্রতিবেদনের সময় মেমরি চাপ | কতগুলি অপারেশন ওভারল্যাপ করে? | কনকারেন্সি সীমাবদ্ধ করুন বা পরীক্ষিত হেডরুম যোগ করুন |
| I/O অপেক্ষা সহ ধীর অনুরোধ | কোন পড়া বা লেখা বিলম্বিত? | কোয়েরি এবং স্টোরেজ আচরণ পরিদর্শন করুন |
| CPU এবং মেমরি কম, অনুরোধ ধীর | একটি নির্ভরতা প্রতিক্রিয়া বিলম্বিত করছে? | ডাউনস্ট্রিম কল পরিমাপ করুন |
স্পষ্ট অনুমান সহ একটি পরিকল্পনা উদাহরণ
দুটি ওয়েব ওয়ার্কার, একটি ডেটাবেস এবং একটি সারি ভোক্তা সহ একটি ছোট অ্যাপ্লিকেশন কল্পনা করুন। দলটি সাধারণ অনুরোধ এবং একটি প্রতিবেদন-উৎপাদন কাজের সময় সেই পরিষেবাগুলি পরিমাপ করে। এটি আবিষ্কার করে যে একবারে চারটি প্রতিবেদনের অনুমতি দিলে স্বাভাবিক ট্রাফিক বিলম্বিত করার সময় মেমরি চাহিদা তীব্রভাবে বাড়ে। অবিলম্বে বৃহত্তম পরিকল্পনা কেনার পরিবর্তে, এটি প্রতিবেদনের কনকারেন্সি সীমাবদ্ধ করে এবং ফলাফল আবার পরিমাপ করে।
যদি সমন্বিত ওয়ার্কলোডের এখনও আরও মেমরি প্রয়োজন হয়, আপগ্রেড এখন একটি পর্যবেক্ষণ করা প্রয়োজনীয়তার উত্তর দেয়। যদি সারিটি CPU-বাউন্ড থাকে এবং স্বাধীন কাজগুলি সমান্তরালে চলতে পারে, আরও সম্পাদন সম্পদ উপযুক্ত হতে পারে। এগুলি উদাহরণ সিদ্ধান্ত, SwissOctet পরিকল্পনার জন্য কর্মক্ষমতা পরিসংখ্যান নয়। নির্বাচিত কনফিগারেশনের সাথে আপনার নিজের পরিমাপ এবং সীমাবদ্ধতা রাখুন।
পরবর্তী পরিমাপের জন্য একটি স্পষ্ট পথ ছেড়ে দিন
যে লক্ষণগুলি একটি পর্যালোচনা শুরু করবে সেগুলি নির্ধারণ করুন: প্রতিক্রিয়া সময়ের অবনতি, বারবার মেমরি চাপ, বাড়তে থাকা সারি বা পরিবর্তিত কাজের চাপ। মনিটরিং যথেষ্ট হালকা রাখুন যাতে এটি নিজেই নতুন বাধা হয়ে না দাঁড়ায়। একটি ফিচার বা বড় ডেটাসেট যোগ করার পরে পুনর্মূল্যায়ন করুন, এবং প্রকৃত সমস্যা একটি অসীম প্রক্রিয়া বা ধীর কোয়েরি হলে বারবার আপগ্রেড এড়িয়ে চলুন।
SwissOctet-এর VPS পরিবারগুলি CPU এবং মেমরি স্পেসিফিকেশন এবং নির্বাচিত রিসোর্স অপশন প্রকাশ করে। অতিরিক্ত যোগ করার পরে চূড়ান্ত কনফিগারেশন পড়ুন, বিলিং সময়কাল এবং মোট সহ। আপগ্রেড ব্যবস্থার উপর নির্ভর করার আগে লাইভ অপারেটরের সাথে নিশ্চিত করুন। একটি কার্যকর VPS আকার হল যা পরিমাপ করা কাজের চাপকে যুক্তিসঙ্গত হেডরুম এবং একটি বোধগম্য পরবর্তী পদক্ষেপ সহ চালায়।
আপনার ব্যবহারিক চেকলিস্ট।
- পরিষেবা এবং রক্ষণাবেক্ষণের কাজের তালিকা করুন।
- স্বাভাবিক এবং ব্যস্ত সময়ের কনকারেন্সি পরিমাপ করুন।
- স্থায়ী এবং অস্থায়ী মেমরির বাজেট করুন।
- CPU কাজ সমান্তরালে চালানো যায় কিনা পরীক্ষা করুন।
- চাপ, ব্যবহার এবং অ্যাপ্লিকেশন টাইমিং তুলনা করুন।
- কখন কনফিগারেশন পর্যালোচনা করবেন তা নির্ধারণ করুন।
যে বিবরণগুলো গুরুত্বপূর্ণ।
আমি কি মাসিক ভিজিটর দ্বারা একটি VPS আকার নির্ধারণ করব?+
ভিজিটর সংখ্যা প্রসঙ্গ হিসেবে ব্যবহার করুন, তারপর অনুরোধের জটিলতা, কনকারেন্সি, ডেটার আকার এবং ব্যাকগ্রাউন্ড কাজ পরিমাপ করুন। সমান ভিজিটর সংখ্যা ভিন্ন লোড তৈরি করতে পারে।
আরও RAM কি সর্বদা একটি পরিষেবাকে দ্রুততর করে?+
না। এটি সাহায্য করে যখন মেমরি একটি সীমাবদ্ধতা বা কার্যকর ক্যাশিং সক্ষম করে, কিন্তু প্রতিটি CPU, স্টোরেজ বা বাহ্যিক নির্ভরতার বিলম্ব সমাধান করে না।
দ্বিগুণ vCPU সংখ্যা কি কর্মক্ষমতা দ্বিগুণ করে?+
না। সমান্তরালতা, প্রসেসরের বৈশিষ্ট্য, প্রতিযোগিতা এবং অ্যাপ্লিকেশনের নকশা নির্ধারণ করে কতটা অতিরিক্ত ক্ষমতা কার্যকর।
সূত্রে যান।
এই রেফারেন্সগুলি এই গাইডের প্রযুক্তিগত ধারণাগুলি সমর্থন করে। একটি উৎপাদন সিস্টেম পরিবর্তন করার আগে বর্তমান ডকুমেন্টেশন অনুসরণ করুন।
- Linux কার্নেল: প্রেশার স্টল ইনফরমেশন docs.kernel.org
- PostgreSQL: রিসোর্স ব্যবহার www.postgresql.org
- KVM প্রকল্প: কার্নেল ভার্চুয়াল মেশিন www.linux-kvm.org
SwissOctet দ্বারা সম্পাদকীয় নির্দেশনা। উদাহরণগুলি উদাহরণমূলক। সেবা স্পেসিফিকেশন, উপলব্ধ অপশন এবং চুক্তিভিত্তিক শর্তগুলি আলাদাভাবে যাচাই করতে হবে।