ডিস্ক ও র্যাম ক্যাপাসিটি প্ল্যানিং
একটি ডেটাবেস সার্ভারের জন্য ডিস্ক এবং মেমরির ক্ষমতা ডিস্ক করার পরিকল্পনা একটি কালো শিল্প। যত বেশি তত ভালো. দ্রুততর ভাল।
সাধারণ নির্দেশিকাগুলি হিসাবে আমি নিম্নলিখিতটি প্রস্তাব করি:
- আপনি আরও ডিস্কের স্থান আপনি করব চান কখনো প্রয়োজন।
আপনার পরবর্তী 3-5 বছরের জন্য আপনার কত ডিস্ক জায়গার প্রয়োজন তা সম্পর্কে আপনার সেরা অনুমানটি নিন, তারপরে এটি দ্বিগুণ করুন।
- আপনার ডাটাবেস সূচকগুলিকে মেমরির কাছে ধরে রাখতে, কমপক্ষে দু'বার আপনার সবচেয়ে বড় ক্যোয়ারি হ্যান্ডেল করার জন্য পর্যাপ্ত র্যাম চাইবেন এবং এখনও একটি স্বাস্থ্যকর ওএস ডিস্ক ক্যাশে পর্যাপ্ত জায়গা বাকি রয়েছে।
সূচকের আকার আপনার ডাটাবেসের উপর নির্ভর করবে এবং অন্য সমস্ত কিছু আপনার ডেটা সেট এবং ক্যোয়ারী / ডাটাবেস কাঠামোর উপর নির্ভর করে। আমি একটি পরামর্শ হিসাবে "আপনার বৃহত্তম টেবিলের আকারে কমপক্ষে 2x" অফার করব তবে নোট করুন যে এই পরামর্শটি সত্যই বড় ডেটা গুদামজাতকরণ ক্রিয়াকলাপে ভেঙে গেছে যেখানে বৃহত্তম টেবিল দশক বা কয়েকশ গিগাবাাইট হতে পারে।
প্রতিটি ডাটাবেস বিক্রেতার কাছে আপনার ডিস্ক / মেমরি / ওএস কার্নেলটির সুরক্ষার জন্য কিছু নির্দেশনা থাকে - স্থাপনার আগে এই ডকুমেন্টেশনটির সাথে কিছুটা সময় ব্যয় করুন। এটা সাহায্য করবে.
কাজের চাপ বেঞ্চমার্কিং এবং সক্ষমতা পরিকল্পনা
ধরে নিচ্ছি আপনি এখনও মোতায়েন করেননি ...
অনেক ডেটাবেস সিস্টেম বেঞ্চমার্কিং সরঞ্জাম সহ শিপ করে - উদাহরণস্বরূপ,
পিজিবেঞ্চ সহ
পোস্টগ্র্রেএসকিউএল জাহাজ ।
এই সরঞ্জামগুলি ডাটাবেস কর্মক্ষমতা মানদণ্ডে আপনার প্রথম স্টপ হওয়া উচিত। সম্ভব হলে আপনার ডাটাবেস সার্ভারটি "কত কাজ" করতে পারে তার অনুভূতি পেতে আপনার সমস্ত নতুন ডাটাবেস সার্ভারগুলিতে চালানো উচিত।
এখন একটি কাঁচা বেঞ্চমার্ক নিয়ে সজ্জিত যা ABSOLUTELY MEANINGLESS
আসুন বেঞ্চমার্কিংয়ের জন্য আরও বাস্তবসম্মত পদ্ধতির বিষয়টি বিবেচনা করুন: আপনার ডাটাবেস স্কিমাটি লোড করুন এবং একটি প্রোগ্রাম লিখুন যা এটি ডামি ডেটা দিয়ে জনপ্রিয় করে তোলে, তারপরে সেই তথ্যটির বিরুদ্ধে আপনার অ্যাপ্লিকেশনটির প্রশ্নগুলি চালাও।
এই মানদণ্ডটি তিনটি গুরুত্বপূর্ণ বিষয় চিহ্নিত করে: ১. ডাটাবেস সার্ভার (হার্ডওয়্যার) ২. ডাটাবেস সার্ভার (সফ্টওয়্যার) ৩. আপনার ডাটাবেস ডিজাইন, এবং এটি কীভাবে উপরের (1) এবং (2) এর সাথে ইন্টারেক্ট করে।
নোট করুন যে এর জন্য সাধারণ প্রাক-বিল্ট বেনমার্কগুলির চেয়ে অনেক বেশি প্রচেষ্টা pgBench
প্রয়োজন: পপুলেটিংয়ের জন্য আপনাকে কিছু কোড লিখতে হবে এবং অনুসন্ধানগুলি করতে এবং এক্সিকিউশন সময়টি রিপোর্ট করার জন্য আপনাকে কিছু কোড লিখতে হতে পারে।
এই ধরণের পরীক্ষার পরিমাণও আরও সঠিক: আপনি যেহেতু আপনার স্কিমা এবং কোয়েরি নিয়ে কাজ করছেন আপনি দেখতে পাবেন যে তারা কীভাবে সম্পাদন করবে এবং এটি আপনাকে আপনার ডেটাবেস / কোয়েরিগুলিকে প্রোফাইল করার এবং উন্নত করার সুযোগ দেয়।
এই মানদণ্ডগুলির ফলাফলগুলি আপনার ডাটাবেসের একটি আদর্শ দৃষ্টিভঙ্গি। নিরাপদ বলে ধরে রাখুন যে আপনি আপনার উত্পাদন পরিবেশে এই পারফরম্যান্সের কেবল 50-70% অর্জন করবেন (বাকীটি এমন একটি কুশন যা আপনাকে অপ্রত্যাশিত বৃদ্ধি, হার্ডওয়্যার ব্যর্থতা, কাজের চাপ পরিবর্তন ইত্যাদি পরিচালনা করতে দেয়)।
খুব দেরি! এটি উত্পাদন হয়!
আপনার সিস্টেমগুলি উত্পাদনের পরে "বেঞ্চমার্ক" হতে খুব দেরী হয়ে যায় - আপনি কোয়েরি লগিং / সময় সংক্ষেপে চালু করতে পারেন এবং দেখতে যে জিনিসগুলি কার্যকর হতে কতটা সময় নেয় এবং আপনি বড় ডেটা সেটগুলির বিপরীতে কিছু "স্ট্রেস টেস্ট" প্রশ্ন চালাতে পারেন off ঘন্টার. এটি কতটা ভারী বোঝা হচ্ছে তার ধারণা পেতে আপনি সিস্টেমের সিপিইউ, র্যাম এবং আই / ও (ডিস্ক ব্যান্ডউইথ) ব্যবহারের দিকেও নজর রাখতে পারেন।
দুর্ভাগ্যক্রমে এই সমস্ত জিনিসগুলি আপনাকে করবে সিস্টেমটি কী করছে তার একটি ধারণা এবং এটি কতটা স্যাচুরেশনের কাছাকাছি রয়েছে তার একটি ধারণা দেয় give
এটি আমাদের কাছে নিয়ে আসে ...
চলমান পর্যবেক্ষণ
যদি আপনার সিস্টেমটি হঠাৎ করে নতুন / বিভিন্ন ব্যবহারের ধরণগুলি দেখছে তবে বিশ্বের সমস্ত মানদণ্ড আপনাকে সহায়তা করবে না।
ভাল বা খারাপের জন্য ডেটাবেস মোতায়েন স্থির নয়: আপনার বিকাশকারীরা জিনিসগুলি পরিবর্তন করবে, আপনার ডেটা সেট বাড়বে (এগুলি কখনই সঙ্কুচিত হবে বলে মনে হয় না) এবং আপনার ব্যবহারকারীরা কোনওভাবে এমন ইভেন্টগুলির উন্মাদ সংমিশ্রণ তৈরি করবেন যা আপনি পরীক্ষায় পূর্বাভাস করেননি।
আপনার ডাটাবেসের জন্য যথাযথ ক্ষমতা পরিকল্পনা করার জন্য আপনাকে ডাটাবেস কর্মক্ষমতা যখন আপনার প্রত্যাশা পূরণ না করে তখন আপনাকে সতর্ক করতে এক ধরণের পারফরম্যান্স মনিটরিং বাস্তবায়ন করতে হবে। সেই মুহুর্তে আপনি প্রতিকারমূলক ক্রিয়াগুলি (নতুন হার্ডওয়্যার, ডিবি স্কিমা বা উত্সের ব্যবহারের অনুকূলকরণের জন্য কোয়েরি পরিবর্তনগুলি) বিবেচনা করতে পারেন।
দ্রষ্টব্য: এটি আপনার ডাটাবেস হার্ডওয়্যার মাপার জন্য এবং এটির কতটা অপব্যবহার নিতে পারে তা নির্ধারণের জন্য একটি খুব উচ্চ স্তরের এবং জেনেরিক গাইড। নির্দিষ্ট সিস্টেম আপনার প্রয়োজনীয়তা পূরণ করে কিনা তা নির্ধারণের বিষয়ে আপনি এখনও অনিশ্চিত থাকলে আপনার একটি ডাটাবেস বিশেষজ্ঞের সাথে কথা বলা উচিত।
এছাড়াও একটি স্ট্যাক এক্সচেঞ্জ সাইট রয়েছে যা ডেটাবেস পরিচালনার জন্য বিশেষভাবে উত্সর্গীকৃত: dba.stackexchange.com । পারফরম্যান্স টিউনিং সম্পর্কিত আরও পরামর্শের জন্য তাদের প্রশ্ন সংরক্ষণাগারটি অনুসন্ধান করুন বা আপনার ডাটাবেস ইঞ্জিনের সাথে সম্পর্কিত ট্যাগগুলি ব্রাউজ করুন।