এখন শেয়ার:
সুচিপত্র লুকান
3। অপরিহার্য SQL Server পারফর্মেন্স কাউন্টার
17. প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)

1. ভূমিকা SQL Server কর্মক্ষমতা মনিটর

1.1 কি SQL Server পারফরম্যান্স মনিটর?

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

কর্মক্ষমতা পর্যবেক্ষণের মধ্যে রয়েছে ট্র্যাকিং কোয়েরি এক্সিকিউশন সময়, রিসোর্স ব্যবহার, সূচক কর্মক্ষমতা, ব্লকিং এবং ডেডলক এবং ডাটাবেস বৃদ্ধির ধরণ। এই ক্রমাগত তদারকি প্রশাসকদের ব্যবহারকারী বা ব্যবসায়িক ক্রিয়াকলাপকে প্রভাবিত করার আগে সম্ভাব্য সমস্যাগুলি সনাক্ত করতে সহায়তা করে।

১.২ কর্মক্ষমতা পর্যবেক্ষণের মূল সুবিধা

কার্যকর SQL Server পারফরম্যান্স মনিটর বেশ কিছু গুরুত্বপূর্ণ সুবিধা প্রদান করে:

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

১.৩ সাধারণ কর্মক্ষমতা চ্যালেঞ্জ

সঠিক SQL ডাটাবেস কর্মক্ষমতা মনিটর ছাড়া, প্রতিষ্ঠানগুলি বেশ কয়েকটি ঝুঁকির সম্মুখীন হয়:

  • অপ্রত্যাশিত ডাউনটাইম যা ব্যবসায়িক কার্যক্রম ব্যাহত করে
  • অ্যাপ্লিকেশনের দুর্বল কর্মক্ষমতা ব্যবহারকারীর অভিজ্ঞতাকে প্রভাবিত করছে
  • ডেটা হারানো বা দুর্নীতি
  • সম্পদের অদক্ষ ব্যবহারের ফলে অপ্রয়োজনীয় খরচ হয়
  • হতাশ ব্যবহারকারী এবং সম্ভাব্য রাজস্ব ক্ষতি

২০২৩ সালের আইডিসির এক সমীক্ষা অনুসারে, ডাটাবেস কর্মক্ষমতা সংক্রান্ত ৬৫% সমস্যা দুর্বল পর্যবেক্ষণ বা অপ্টিমাইজেশন অনুশীলনের কারণে ঘটে।

২. উইন্ডোজ পারফরম্যান্স মনিটর (পারফমন) বোঝা

২.১ উইন্ডোজ পারফরম্যান্স মনিটর কী?

উইন্ডোজ পারফরম্যান্স মনিটর (পারফমন) একটি অন্তর্নির্মিত উইন্ডোজ টুল যা সিস্টেম রিসোর্স এবং অ্যাপ্লিকেশন কর্মক্ষমতা নিরীক্ষণ করে। SQL Server প্রশাসকদের জন্য, PerfMon অপারেটিং সিস্টেম এবং উভয় বিষয়েই অমূল্য অন্তর্দৃষ্টি প্রদান করে SQL Server মেট্রিক্স, যা এটিকে ব্যাপক কর্মক্ষমতা বিশ্লেষণের জন্য অপরিহার্য করে তোলে।

উইন্ডোজ পারফরম্যান্স মনিটর (পারফমন)

PerfMon নিয়মিত বিরতিতে কর্মক্ষমতা পরিসংখ্যান পরিমাপ করে এবং পরবর্তী বিশ্লেষণের জন্য সেই পরিসংখ্যানগুলি ফাইলগুলিতে সংরক্ষণ করে। ডাটাবেস প্রশাসকরা সময়ের ব্যবধান, ফাইল ফর্ম্যাট এবং কোন পরিসংখ্যান পর্যবেক্ষণ করবেন তা নির্বাচন করতে পারেন। এই টুলটি SQL Server-নির্দিষ্ট—সিস্টেম অ্যাডমিনিস্ট্রেটররা এটি ব্যবহার করে উইন্ডোজ, এক্সচেঞ্জ, ফাইল সার্ভার এবং যেকোনো অ্যাপ্লিকেশন যা বাধার সম্মুখীন হতে পারে তা পর্যবেক্ষণ করে।

২.২ পারফরম্যান্স মনিটর চালু করা হচ্ছে

আপনি বিভিন্ন পদ্ধতি ব্যবহার করে পারফরম্যান্স মনিটর চালু করতে পারেন:

  1. ক্লিক শুরু, টাইপ করুন সুগন্ধি অনুসন্ধান বাক্সে, অনুসন্ধান ফলাফলে "পারফর্ম্যান্ড মনিটর" ক্লিক করুন:
    উইন্ডোজ সার্চবক্স থেকে PerfMon সার্চ করে চালু করুন।
  2. প্রেস উইন্ডোজ + আর, টাইপ করুন সুগন্ধি, এবং প্রেস প্রবেশ করান
    উইন্ডোজ রান বক্স থেকে PerfMon চালু করুন।
  3. নেভিগেট করুন কন্ট্রোল প্যানেল -> সিস্টেম এবং নিরাপত্তা -> প্রশাসনিক সরঞ্জামাদি -> কর্মক্ষমতা মনিটর
    কন্ট্রোল প্যানেল -> সিস্টেম ও নিরাপত্তা -> প্রশাসনিক সরঞ্জাম -> পারফরম্যান্স মনিটর থেকে PerfMon চালু করুন।

3। অপরিহার্য SQL Server পারফর্মেন্স কাউন্টার

৩.১ মেমোরি পারফরম্যান্স কাউন্টার

পর্যবেক্ষণের জন্য মেমোরি কাউন্টারগুলি অত্যন্ত গুরুত্বপূর্ণ SQL Server কর্মক্ষমতা কারণ তারা নির্দেশ করে যে আপনার ডাটাবেসে পর্যাপ্ত মেমরি রিসোর্স আছে কিনা।

উপলব্ধ MBytes

এই কাউন্টারটি বরাদ্দের জন্য তাৎক্ষণিকভাবে উপলব্ধ ভৌত মেমোরির পরিমাণ দেখায়। এটি মোটামুটি স্থির থাকা উচিত এবং আদর্শভাবে 4096 MB এর নিচে নেমে যাওয়া উচিত নয়। কম মানগুলি ইঙ্গিত দিতে পারে যে SQL Serverএর সর্বোচ্চ মেমরি সেটিং ডিফল্ট অবস্থায় রাখা হয়, অথবা অ-SQL Server অ্যাপ্লিকেশনগুলি মেমরি গ্রাস করছে।

পৃষ্ঠার আয়ুষ্কাল

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

বাফার ক্যাশে হিট অনুপাত

এই কাউন্টারটি ডিস্ক থেকে পড়ার পরিবর্তে SQL বাফার ক্যাশে (মেমরি) ব্যবহার করে উত্তর দেওয়া ডেটা অনুরোধের শতাংশ নির্দেশ করে। এটি সাধারণত 99% পূরণ করে বা অতিক্রম করে। নিম্ন মানগুলি নির্দেশ করে যে SQL Server আরও মেমরি প্রয়োজন অথবা রিস্টার্ট করার পরেও এখনও গরম হচ্ছে।

মেমরি অনুদান মুলতুবি আছে

এটি মেমরির জন্য অপেক্ষা করা প্রক্রিয়ার সংখ্যা দেখায় SQL Serverস্বাভাবিক অবস্থায়, এই মানটি ধারাবাহিকভাবে 0 হওয়া উচিত। উচ্চতর মানগুলি অপর্যাপ্ত মেমরি বরাদ্দ নির্দেশ করে SQL Server.

টার্গেট সার্ভার মেমরি বনাম মোট সার্ভার মেমরি

টার্গেট সার্ভার মেমরি হলো মেমরির আদর্শ পরিমাণ। SQL Server ব্যবহার করতে চাই। টোটাল সার্ভার মেমোরি কী দেখায় SQL Server বর্তমানে ব্যবহার করা হচ্ছে। এই মানগুলির মধ্যে অনুপাত প্রায় 1 হওয়া উচিত। উল্লেখযোগ্য পার্থক্য মেমরি চাপ বা অপর্যাপ্ত উপলব্ধ মেমরি নির্দেশ করতে পারে।

৩.২ প্রসেসর পারফরম্যান্স কাউন্টার

সিপিইউ কাউন্টারগুলি প্রসেসরের বাধাগুলি সনাক্ত করতে এবং কীভাবে তা বুঝতে সাহায্য করে SQL Server কম্পিউটিং রিসোর্স ব্যবহার করে।

% প্রসেসর সময়

এটি প্রসেসরটি অ-নিষ্ক্রিয় থ্রেডগুলি সম্পাদন করতে কত সময় ব্যয় করে তার শতাংশ পরিমাপ করে। সক্রিয় সার্ভারগুলিতে, মানগুলি 100% পর্যন্ত বৃদ্ধি পেতে পারে, তবে 70-75% এর বেশি ব্যবহার সাধারণত ব্যবহারকারীদের জন্য কর্মক্ষমতা সমস্যা নির্দেশ করে। অনুপস্থিত বা অপর্যাপ্ত সূচকগুলি প্রায়শই উচ্চ CPU ব্যবহারের কারণ হয়।

% সুবিধাপ্রাপ্ত সময়

প্রসেসরের সময় ইউজার মোড এবং প্রিভিলেজড (কার্নেল) মোড প্রসেসিং-এ বিভক্ত। সমস্ত ডিস্ক অ্যাক্সেস এবং I/O কার্নেল মোডের অধীনে ঘটে। যদি এই কাউন্টারটি 25% অতিক্রম করে, তাহলে সিস্টেমটি সম্ভবত খুব বেশি I/O সম্পাদন করবে। স্বাভাবিক মান 5% থেকে 10% এর মধ্যে থাকে।

প্রসেসরের সারির দৈর্ঘ্য

এই কাউন্টারটি CPU রিসোর্সের জন্য অপেক্ষারত থ্রেডগুলি দেখায়। মানগুলি ধারাবাহিকভাবে 1 এর উপরে থাকে (সময় ব্যতীত SQL Server ব্যাকআপ কম্প্রেশন) CPU চাপ নির্দেশ করে। এর অর্থ প্রায়শই অন্যান্য অ্যাপ্লিকেশন ইনস্টল করা থাকে SQL Server মেশিন, যা সর্বোত্তম অনুশীলন লঙ্ঘন করে।

প্রসঙ্গ সুইচ/সেকেন্ড

এটি পরিমাপ করে যে প্রসেসর কত ঘন ঘন থ্রেডগুলির মধ্যে স্যুইচ করে। অতিরিক্ত কনটেক্সট স্যুইচিং কর্মক্ষমতাকে প্রভাবিত করতে পারে এবং উচ্চ সিস্টেম লোড নির্দেশ করে।

৩.৩ ডিস্ক I/O পারফরম্যান্স কাউন্টার

SQL কর্মক্ষমতা পর্যবেক্ষণের জন্য ডিস্ক কাউন্টারগুলি অপরিহার্য কারণ ডিস্ক I/O প্রায়শই ডাটাবেস সিস্টেমে প্রাথমিক বাধা হয়ে দাঁড়ায়।

% ডিস্ক সময়

এটি ডিস্কটি পঠন/লেখার কাজে কতক্ষণ ব্যস্ত ছিল তা রেকর্ড করে। ৮৫% এর উপরে ধারাবাহিকভাবে মানগুলি একটি I/O বাধা নির্দেশ করে। যেহেতু ডিস্ক মেমোরির তুলনায় অনেক ধীর, তাই এই মেট্রিকটি হ্রাস করলে কর্মক্ষমতা উন্নত হয়।

গড় ডিস্ক সেকেন্ড/পড়া এবং গড় ডিস্ক সেকেন্ড/লেখা

এই কাউন্টারগুলি পঠন এবং লেখার ক্রিয়াকলাপের গড় সময় (সেকেন্ডে) পরিমাপ করে। যদি গড় মান 10-20 মিলিসেকেন্ডের বেশি হয়, তাহলে ডিস্কটি ডেটা প্রক্রিয়া করতে খুব বেশি সময় নেয়। লেনদেন লগ ড্রাইভগুলির জন্য বিশেষভাবে দ্রুত লেখার কর্মক্ষমতা প্রয়োজন।

ডিস্ক সারির দৈর্ঘ্য

এটি ডিস্কে পড়ার/লেখার জন্য অসামান্য অনুরোধগুলি দেখায়। ধারাবাহিকভাবে 2 (অথবা RAID অ্যারের জন্য প্রতি ডিস্কে 2) এর চেয়ে বেশি মান নির্দেশ করে যে ডিস্কটি I/O অনুরোধগুলি পূরণ করতে পারছে না।

ডিস্ক বাইট/সেকেন্ড

এটি ডিস্কে/থেকে ডেটা স্থানান্তরের হার পর্যবেক্ষণ করে। যদি এটি ডিস্কের রেট করা ক্ষমতা অতিক্রম করে, তাহলে ডেটা ব্যাকলগ হতে শুরু করে, যা ডিস্ক সারির দৈর্ঘ্য বৃদ্ধির মাধ্যমে নির্দেশিত হয়।

ডিস্ক স্থানান্তর/সেকেন্ড

এটি ডিস্কে সম্পাদিত পঠন/লেখার ক্রিয়াকলাপের সংখ্যা ট্র্যাক করে। SQL Server ডেটা অ্যাক্সেস সাধারণত এলোমেলো হয়, যা ড্রাইভের মাথার নড়াচড়ার কারণে ধীর হয়। নিশ্চিত করুন যে এই মানটি আপনার ডিস্ক ড্রাইভের সর্বোচ্চ রেটিং (সাধারণত স্ট্যান্ডার্ড ড্রাইভের জন্য 100/সেকেন্ড) এর নিচে থাকে।

3.4 SQL Server নির্দিষ্ট কাউন্টার

৩.৪.১ বাফার ম্যানেজার কাউন্টার

বাফার ম্যানেজার কাউন্টার মনিটর SQL Serverএর মেমরি বাফার অপারেশন:

  • পৃষ্ঠা পঠিত/সেকেন্ড: ভৌত ডাটাবেস পৃষ্ঠার পাঠের ক্রমবর্ধমান গণনা
  • পৃষ্ঠাটি লেখে/সেকেন্ড: ভৌত ডাটাবেস পৃষ্ঠা লেখার ক্রমবর্ধমান গণনা
  • অলস লেখেন/সেকেন্ড: মেমোরি মুক্ত করার জন্য অলস লেখক কর্তৃক লিখিত বাফারের সংখ্যা
  • চেকপয়েন্ট পৃষ্ঠা/সেকেন্ড: চেকপয়েন্ট বা অন্যান্য অপারেশনের মাধ্যমে ফ্লাশ করা পৃষ্ঠাগুলির জন্য সমস্ত নোংরা পৃষ্ঠাগুলি ফ্লাশ করা প্রয়োজন

৩.৪.২ SQL পরিসংখ্যান কাউন্টার

এই কাউন্টারগুলি অন্তর্দৃষ্টি প্রদান করে SQL Server ক্যোয়ারী প্রক্রিয়াকরণ:

  • ব্যাচ অনুরোধ/সেকেন্ড: সার্ভার কর্তৃক গৃহীত SQL ব্যাচ অনুরোধের সংখ্যা। এটি সার্ভার কার্যকলাপের জন্য একটি মানদণ্ড হিসেবে কাজ করে।
  • SQL সংকলন/সেকেন্ড: SQL সংকলনের সংখ্যা। প্রতি সেকেন্ডে মোট ব্যাচ অনুরোধের ১০% বা তার কম হওয়া উচিত।
  • SQL পুনঃসংকলন/সেকেন্ড: SQL পুনঃসংকলনের সংখ্যা। মোট ব্যাচ অনুরোধ/সেকেন্ডের ১০% বা তার কম হওয়া উচিত।

৩.৪.৩ সাধারণ পরিসংখ্যান গণনাকারী

  • ব্যবহারকারী সংযোগ: সিস্টেমের সাথে সংযুক্ত ব্যবহারকারীর সংখ্যা। সময়ের সাথে সাথে সংযোগ বৃদ্ধি ট্র্যাক করার জন্য একটি মানদণ্ড হিসাবে ব্যবহৃত হয়।
  • ব্লক করা প্রক্রিয়াগুলি: ব্লক করা প্রক্রিয়ার বর্তমান সংখ্যা। আদর্শভাবে 0 হওয়া উচিত

৩.৪.৪ মেমোরি ম্যানেজার কাউন্টার

  • মেমোরি গ্রান্ট মুলতুবি: ওয়ার্কস্পেস মেমোরি গ্র্যান্টের জন্য অপেক্ষা করা মোট প্রক্রিয়ার সংখ্যা। আদর্শভাবে 0 হওয়া উচিত।

৪. এর জন্য পারফরম্যান্স মনিটর সেট আপ করা হচ্ছে SQL Server(উইন্ডোজ ভিস্তা / সার্ভার ২০০৮ এবং পরবর্তী)

প্রথমত, কাউন্টারগুলি আরও সহজে পরিচালনা করার জন্য আমাদের একটি কন্টেইনার তৈরি করতে হবে:

  • Windows Vista / Server 2008 এবং পরবর্তী সংস্করণগুলির জন্য, আপনি এই বিভাগে ডেটা কালেক্টর সেট তৈরি করতে পারেন।
  • Windows XP / Server 2003 এবং পূর্ববর্তী সংস্করণগুলির জন্য, আপনি কাউন্টার লগ তৈরি করতে পারেন পরবর্তী অধ্যায়.

৫.১ ডেটা কালেক্টর সেট কী?

ডেটা কালেক্টর সেটগুলি পারফরম্যান্স কাউন্টার, ইভেন্ট ট্রেস ডেটা এবং সিস্টেম কনফিগারেশন তথ্যকে একটি একক সংগ্রহ ইউনিটে সংগঠিত করে। এগুলি সাধারণ কাউন্টার লগের তুলনায় বেশি নমনীয়তা প্রদান করে এবং ব্যাপক SQL ডাটাবেস কর্মক্ষমতা পর্যবেক্ষণের জন্য স্বয়ংক্রিয়, নির্ধারিত ডেটা সংগ্রহ সক্ষম করে।

৫.২ একটি ডেটা কালেক্টর সেট তৈরি করা

নিরীক্ষণের জন্য একটি কাস্টম ডেটা কালেক্টর সেট তৈরি করুন SQL Server পারফর্মেন্স কাউন্টার:

  1. পারফরম্যান্স মনিটর খুলুন
  2. বিস্তৃত করা ডেটা কালেক্টর সেট
  3. সঠিক পছন্দ ব্যবহারকারী সংজ্ঞায়িত
  4. নির্বাচন করা নতুন -> ডেটা কালেক্টর সেট
    PerfMon-এ একটি নতুন ডেটা কালেক্টর সেট তৈরি করুন
  5. একটি বর্ণনামূলক নাম লিখুন (যেমন, "SQL Server "কর্মক্ষমতা মেট্রিক্স")
  6. নির্বাচন করা ম্যানুয়ালি তৈরি করুন (উন্নত)
    ডেটা কালেক্টর সেটের জন্য একটি বর্ণনার নাম সেট করুন
  7. ক্লিক পরবর্তী
  8. চেক ডেটা লগ তৈরি করুন -> পারফরম্যান্স কাউন্টার
    নতুন ডেটা কালেক্টর সেট তৈরি করুন উইজার্ডে ডেটা লগ তৈরি করুন -> পারফরম্যান্স কাউন্টার নির্বাচন করুন।
  9. ক্লিক পরবর্তী
  10. ক্লিক বিজ্ঞাপন কাউন্টার নির্বাচন করতে
  11. বিজ্ঞাপন আকাঙ্ক্ষিত SQL Server এবং সিস্টেম কাউন্টার.
    নতুন ডেটা কালেক্টর সেটে পারফরম্যান্স কাউন্টার যোগ করুন।
  12. সেট নমুনা ব্যবধান
    • নিয়মিত পর্যবেক্ষণের জন্য, ১ মিনিট (৬০ সেকেন্ড) ব্যবহার করুন
    • সক্রিয় সমস্যা সমাধানের জন্য, ১৫-৩০ সেকেন্ড ব্যবহার করুন
    • দীর্ঘমেয়াদী উচ্চ-ফ্রিকোয়েন্সি ক্যাপচার চালানো এড়িয়ে চলুন, কারণ এটি কর্মক্ষমতাকে প্রভাবিত করতে পারে এবং অতিরিক্ত ডেটা তৈরি করতে পারে।

    নতুন ডেটা কালেক্টর সেট উইজার্ডে নমুনা ব্যবধান সেট করুন।

  13. ক্লিক পরবর্তী
  14. লগগুলি সংরক্ষণ করার জন্য অবস্থানটি বেছে নিন
    নতুন ডেটা কালেক্টর সেট উইজার্ডে কর্মক্ষমতা ডেটা সংরক্ষণের জন্য অবস্থান নির্ধারণ করুন।
  15. ক্লিক শেষ, একটি নতুন ডেটা কালেক্টর সেট তৈরি করা হবে।
  16. ডিফল্টরূপে, নতুন ডেটা কালেক্টর সেটটি হবে না স্বয়ংক্রিয়ভাবে চালু হবে। আপনাকে এটি বাম প্যানেলে, নিচে খুঁজে বের করতে হবে। সম্পাদন -> ডেটা কালেক্টর সেট -> ব্যবহারকারী সংজ্ঞায়িত -> আপনার ডেটা কালেক্টর, এটিতে ডান-ক্লিক করুন এবং নির্বাচন করুন শুরু
    PerfMon-এ একটি নতুন ডেটা কালেক্টর সেট শুরু করুন।

৪.৩ যোগ করার জন্য কী কাউন্টার

  • মেমোরি -> উপলব্ধ এমবাইটস
  • ভৌত ডিস্ক -> গড় ডিস্ক সেকেন্ড/পঠন (_মোট ছাড়া সকল উদাহরণ)
  • ভৌত ডিস্ক -> গড় ডিস্ক সেকেন্ড/লেখা (_মোট ছাড়া সকল উদাহরণ)
  • ফিজিক্যাল ডিস্ক -> ডিস্ক রিড/সেকেন্ড (_মোট ছাড়া সকল উদাহরণ)
  • ফিজিক্যাল ডিস্ক -> ডিস্ক রাইটস/সেকেন্ড (_মোট ছাড়া সকল উদাহরণ)
  • প্রসেসর -> % প্রসেসর সময় (_মোট ছাড়া সকল উদাহরণ)
  • SQL সার্ভার: সাধারণ পরিসংখ্যান -> ব্যবহারকারীর সংযোগ
  • SQL সার্ভার: মেমোরি ম্যানেজার -> মেমোরি গ্রান্ট মুলতুবি
  • SQL সার্ভার: SQL পরিসংখ্যান -> ব্যাচ অনুরোধ/সেকেন্ড
  • SQL সার্ভার: SQL পরিসংখ্যান -> SQL সংকলন/সেকেন্ড
  • SQL সার্ভার: SQL পরিসংখ্যান -> SQL পুনর্সংকলন/সেকেন্ড
  • সিস্টেম -> প্রসেসরের সারির দৈর্ঘ্য

৫.৪ স্টপ শর্ত নির্ধারণ করা

সীমাহীন ডেটা বৃদ্ধি রোধ করতে স্টপ কন্ডিশন কনফিগার করুন:

  1. ডেটা কালেক্টর সেট তৈরি করার পর, এটিতে ডান-ক্লিক করুন এবং নির্বাচন করুন প্রোপার্টি
  2. ক্লিক করুন স্টপ কন্ডিশন ট্যাব
  3. সক্ষম করা সামগ্রিক সময়কাল
  4. সময়কাল ১ দিন (২৪ ঘন্টা) সেট করুন
  5. ক্লিক OK বাঁচানো

ডেটা কালেক্টর সেটের জন্য স্টপ কন্ডিশন সেট করুন

এটি নিশ্চিত করে যে লগটি যেন খুব বেশি বড় না হয়ে যায় এবং নির্ধারিত থাকলে স্বয়ংক্রিয়ভাবে পুনরায় চালু হয়।

৫.৫ তথ্য সংগ্রহের সময়সূচী

ধারাবাহিক পর্যবেক্ষণ নিশ্চিত করতে স্বয়ংক্রিয় তথ্য সংগ্রহ:

  1. আপনার ডেটা কালেক্টর সেটে ডান-ক্লিক করুন এবং নির্বাচন করুন প্রোপার্টি
  2. ক্লিক করুন সময়সূচি ট্যাব
  3. ক্লিক বিজ্ঞাপন একটি নতুন সময়সূচী তৈরি করতে
  4. শুরুর তারিখ এবং সময় নির্ধারণ করুন
  5. পুনরাবৃত্তি প্যাটার্ন সেট করুন (যেমন, দৈনিক)
  6. ক্লিক OK সময়সূচী সংরক্ষণ করতে

ডেটা কালেক্টর সেটের জন্য সময়সূচী সেট করুন

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

৪. এর জন্য পারফরম্যান্স মনিটর সেট আপ করা হচ্ছে SQL Server(উইন্ডোজ এক্সপি / সার্ভার ২০০৩ এবং তার আগের)

Windows XP / Server 2003 এবং পূর্ববর্তী সংস্করণগুলির জন্য, আপনি কাউন্টার লগ তৈরি করতে পারেন, যা আপনাকে পারফরম্যান্স কাউন্টারের একটি সেট নির্বাচন করতে এবং পর্যায়ক্রমে একটি ফাইলে লগ করতে দেয়।

৪.১ কাউন্টার লগ তৈরি করা

একটি নতুন কাউন্টার লগ তৈরি করতে এই পদক্ষেপগুলি অনুসরণ করুন:

  1. পারফরম্যান্স মনিটর খুলুন
  2. বিস্তৃত করা কর্মক্ষমতা লগ এবং সতর্কতা বাম ফলকে
  3. সঠিক পছন্দ কাউন্টার লগ
  4. নির্বাচন করা নতুন লগ সেটিংস
  5. আপনার ডাটাবেস সার্ভারের নাম দিয়ে লগের নাম দিন (যেমন, "ProductionSQL01")
  6. ক্লিক OK কনফিগারেশন শুরু করতে

প্রতিটি সার্ভারের জন্য আলাদা কাউন্টার লগ তৈরি করলে আপনি একই সাথে সমস্ত সার্ভারের জন্য ডেটা সংগ্রহ না করেই পৃথক সার্ভারে কর্মক্ষমতা পরীক্ষা করতে পারবেন।

৪.২ পারফরম্যান্স কাউন্টার যোগ করা

একটি কাউন্টার লগ তৈরি করার পরে, আপনি যে নির্দিষ্ট কর্মক্ষমতা কাউন্টারগুলি পর্যবেক্ষণ করতে চান তা যোগ করুন:

  1. ক্লিক করুন কাউন্টার যোগ করুন বোতাম
  2. কম্পিউটারের নাম পরিবর্তন করে আপনার SQL Server উদাহরণ
  3. প্রেস ট্যাব উপলব্ধ কর্মক্ষমতা বস্তু লোড করতে
  4. ড্রপডাউন থেকে একটি পারফর্ম্যান্স অবজেক্ট নির্বাচন করুন (যেমন, স্মৃতি)
  5. নির্দিষ্ট কাউন্টারগুলি বেছে নিন ক্রমতালিকা
  6. প্রযোজ্য হলে ইনস্ট্যান্স নির্বাচন করুন (যেমন, স্বতন্ত্র প্রসেসর বা ডিস্ক)
  7. ক্লিক বিজ্ঞাপন কাউন্টার অন্তর্ভুক্ত করতে
  8. সমস্ত পছন্দসই কাউন্টারের জন্য পুনরাবৃত্তি করুন
  9. ক্লিক ঘনিষ্ঠ যখন শেষ হবে

৪.৩ নমুনা ব্যবধান কনফিগার করা

নমুনা ব্যবধান নির্ধারণ করে যে পারফরম্যান্স মনিটর কত ঘন ঘন ডেটা সংগ্রহ করে। আপনার পর্যবেক্ষণের প্রয়োজনের উপর ভিত্তি করে উপযুক্ত ব্যবধানগুলি কনফিগার করুন:

  1. কাউন্টার লগ বৈশিষ্ট্যে, সনাক্ত করুন নমুনা তথ্য প্রতি
  2. ব্যবধান সেট করুন (ডিফল্ট ১৫ সেকেন্ড)
  3. বেসলাইন পর্যবেক্ষণের জন্য, দৈনিক সংগ্রহের জন্য 1 মিনিটের ব্যবধান ব্যবহার করুন
  4. সমস্যা সমাধানের জন্য, ছোট বার্স্টের জন্য ১৫-৩০ সেকেন্ডের ব্যবধান ব্যবহার করুন।
  5. ক্লিক OK আবেদন করতে

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

৪.৪ লগ ফাইল কনফিগার করা

সঠিক লগ ফাইল কনফিগারেশন নিশ্চিত করে যে ডেটা দক্ষতার সাথে এবং অ্যাক্সেসযোগ্যভাবে সংরক্ষণ করা হচ্ছে:

  1. ক্লিক করুন লগ ফাইল কাউন্টার লগ বৈশিষ্ট্যের ট্যাব
  2. লগ ফাইলের ধরণ এতে পরিবর্তন করুন টেক্সট ফাইল (কমা দিয়ে সীমানা নির্ধারণ করা হয়েছে) সহজে এক্সেল আমদানির জন্য
  3. ক্লিক কনফিগার করুন
  4. ফাইলের পাথটি একটি নির্দিষ্ট স্থানে সেট করুন (যেমন, একটি শেয়ার্ড পারফরম্যান্সলগস ফোল্ডার)
  5. ক্লিক OK নিশ্চিত করতে

লগ স্টোরেজের জন্য একটি নেটওয়ার্ক-অ্যাক্সেসযোগ্য শেয়ার ব্যবহার করুন যাতে আপনি দূরবর্তীভাবে ফাইলগুলি অ্যাক্সেস করতে পারেন এবং অন্যান্য ব্যবহারকারীদের সাথে সেগুলি শেয়ার করতে পারেন।

৪.৫ শংসাপত্র স্থাপন করা

উপযুক্ত শংসাপত্র কনফিগার করুন যাতে পারফরম্যান্স মনিটর রিমোট অ্যাক্সেস করতে পারে SQL Server উদাহরণ:

  1. কাউন্টার লগ বৈশিষ্ট্যে, সনাক্ত করুন হিসাবে চালান
  2. আপনার ডোমেন ব্যবহারকারীর নাম এই ফর্ম্যাটে লিখুন: DOMAIN\ব্যবহারকারীর নাম
  3. ক্লিক পাসওয়ার্ড সেট করুন
  4. আপনার পাসওয়ার্ড লিখুন এবং নিশ্চিত করুন
  5. ক্লিক OK বাঁচানো

এটি PerfMon পরিষেবাটিকে তার নিজস্ব শংসাপত্রের পরিবর্তে আপনার ডোমেন অনুমতি ব্যবহার করে পরিসংখ্যান সংগ্রহ করতে দেয়।

৬. পারফরম্যান্স মনিটরের ডেটা বিশ্লেষণ করা

৬.১ পারফরম্যান্স মনিটরে লগ ফাইল দেখা

পারফরম্যান্স মনিটর সংরক্ষিত লগ ফাইল থেকে ঐতিহাসিক তথ্য প্রদর্শন করতে পারে:

  1. পারফরম্যান্স মনিটর খুলুন
  2. বাম ফলকে, ক্লিক করুন নজরদারি সরঞ্জাম -> কর্মক্ষমতা মনিটর.
  3. গ্রাফ এলাকার যেকোনো জায়গায় ডান-ক্লিক করুন
  4. নির্বাচন করা প্রোপার্টি
    গ্রাফ এলাকার যেকোনো জায়গায় ডান ক্লিক করে PerfMon-এ প্রপার্টি খুলুন।
  5. ক্লিক করুন উৎস ট্যাব
  6. নির্বাচন করা লগ ফাইল রেডিও বোতাম
  7. ক্লিক বিজ্ঞাপন
  8. আপনার লগ ফাইলে (.blg অথবা .csv) যান।
  9. ফাইলটি নির্বাচন করুন এবং ক্লিক করুন খোলা
    PerfMon-এ গ্রাফিকের উৎস হিসেবে লগ ফাইল সেট করুন।
  10. ব্যবহার সময় পরিসীমা আপনি যে সময়কাল বিশ্লেষণ করতে চান তা নির্বাচন করতে স্লাইডার
  11. ক্লিক OK প্রোপার্টিজ ডায়ালগ বন্ধ করতে
  12. লগ ফাইল থেকে কাউন্টার যোগ করতে সবুজ প্লাস আইকনে ক্লিক করুন।
    PerfMon-এ লগ ফাইল থেকে কাউন্টার যোগ করতে সবুজ প্লাস আইকনে ক্লিক করুন।
  13. প্রদর্শনের জন্য পছন্দসই কাউন্টার নির্বাচন করুন
    PerfMon-এ গ্রাফিকে পছন্দসই কাউন্টার যোগ করুন।
  14. ক্লিক OK

গ্রাফটি এখন লগ ফাইল থেকে ঐতিহাসিক তথ্য প্রদর্শন করবে। বিস্তারিত বিশ্লেষণের জন্য নির্দিষ্ট সময়কাল সংকুচিত করতে বৈশিষ্ট্যগুলিতে টাইম রেঞ্জ স্লাইডার ব্যবহার করুন।

৬.২ এক্সেলে ডেটা রপ্তানি করা

এক্সেল পারফরম্যান্স কাউন্টার ডেটার জন্য শক্তিশালী বিশ্লেষণ ক্ষমতা প্রদান করে:

  1. আপনার লগ ফাইল লোড করে পারফরম্যান্স মনিটর খুলুন।
  2. গ্রাফ এলাকার যেকোনো জায়গায় ডান-ক্লিক করুন
  3. নির্বাচন করা ডেটা এইভাবে সংরক্ষণ করুন
  4. ফাইলের জন্য একটি অবস্থান নির্বাচন করুন
  5. নির্বাচন করা টেক্সট ফাইল (কমা দ্বারা সীমাবদ্ধ) (.csv) ড্রপডাউন থেকে
  6. ক্লিক সংরক্ষণ করুন
  7. এক্সেলে CSV ফাইলটি খুলুন

PerfMon-এ ফাইলে ডেটা রপ্তানি করুন।

আরও ভালো বিশ্লেষণের জন্য রপ্তানি করা ডেটা ফর্ম্যাট করুন:

  1. অর্ধ-খালি সারি ২ মুছে ফেলুন এবং ঘর A1 সাফ করুন।
  2. কলাম A কে তারিখ/সময় হিসেবে ফর্ম্যাট করুন
  3. শূন্য দশমিক এবং হাজার বিভাজক সহ সংখ্যাসূচক কলামগুলি ফর্ম্যাট করুন
  4. হেডারে সার্ভারের নাম খুঁজুন এবং প্রতিস্থাপন করুন (যেমন, “\\SERVERNAME” কে ফাঁকা দিয়ে প্রতিস্থাপন করুন)
  5. হেডারে অবজেক্টের নাম পরিষ্কার করুন (যেমন, "মেমোরি", "ফিজিক্যালডিস্ক", "প্রসেসর")
  6. আরও ভালো দৃশ্যমানতার জন্য হেডার ফন্টের আকার ৮ পয়েন্টে কমিয়ে আনুন

৬.৩ কাউন্টার মান ব্যাখ্যা করা

৬.৩.১ মেমোরি কাউন্টার বিশ্লেষণ

মেমরি কাউন্টার বিশ্লেষণ করার সময়, এই সূচকগুলি সন্ধান করুন:

  • উপলব্ধ এমবাইটস: ধারাবাহিকভাবে ৪০৯৬ এমবি-র উপরে থাকা উচিত
  • পৃষ্ঠার আয়ুষ্কাল: ৩০০ সেকেন্ডের বেশি মান সুস্থ স্মৃতিশক্তি নির্দেশ করে। কম মান স্মৃতিশক্তির চাপ নির্দেশ করে।
  • বাফার ক্যাশে হিট অনুপাত: ৯৯% এর বেশি বা তার বেশি হওয়া উচিত। নিম্ন মানগুলি অত্যধিক ডিস্ক রিড নির্দেশ করে
  • মেমোরি গ্রান্ট মুলতুবি: এর মান সর্বদা ০ হওয়া উচিত। যেকোনো ধনাত্মক মান মেমোরির ঘাটতি নির্দেশ করে।

৬.৩.২ সিপিইউ কাউন্টার বিশ্লেষণ

CPU কর্মক্ষমতা সূচকগুলির মধ্যে রয়েছে:

  • % প্রসেসর সময়: ৭৫% এর বেশি ব্যবহারে পারফরম্যান্সের সমস্যা দেখা দেয়। ১০০% পর্যন্ত বৃদ্ধি স্বাভাবিক, তবে তা স্থায়ী হওয়া উচিত নয়।
  • প্রসেসরের সারির দৈর্ঘ্য: ১ এর উপরে মান CPU চাপ নির্দেশ করে। কোন প্রক্রিয়াগুলি CPU ব্যবহার করে তা সনাক্ত করতে টাস্ক ম্যানেজার পরীক্ষা করুন।
  • % সুবিধাপ্রাপ্ত সময়: ৫-১০% এর মধ্যে থাকা উচিত। ২৫% এর উপরে মান অতিরিক্ত I/O অপারেশন নির্দেশ করে

৬.৩.৩ ডিস্ক কাউন্টার বিশ্লেষণ

ডিস্ক কর্মক্ষমতা থ্রেশহোল্ড:

  • গড় ডিস্ক সেকেন্ড/পড়া এবং লেখা: ১০-২০ মিলিসেকেন্ডের নিচে থাকা উচিত। উচ্চতর মান ধীর ডিস্ক সাবসিস্টেম নির্দেশ করে
  • ডিস্ক সারির দৈর্ঘ্য: ধারাবাহিকভাবে 2 এর উপরে মান (অথবা RAID-তে প্রতি ডিস্কে 2) I/O বাধা নির্দেশ করে
  • % ডিস্ক সময়: ৮৫% এর উপরে স্থায়ী মান ডিস্ক স্যাচুরেশন নির্দেশ করে

৬.৪ সূত্র এবং পরিসংখ্যান ব্যবহার

দ্রুত বিশ্লেষণের জন্য এক্সেলে পরিসংখ্যানগত সূত্র যোগ করুন:

  1. আপনার স্প্রেডশিটের উপরে ৭টি ফাঁকা সারি সন্নিবেশ করান।
  2. কলাম A-তে লেবেল যোগ করুন: গড়, মধ্যমা, সর্বনিম্ন, সর্বোচ্চ, মান বিচ্যুতি
  3. B2 কক্ষে, লিখুন: =AVERAGE(B9:B100) (আপনার শেষ ডেটা সারিতে B100 সামঞ্জস্য করুন)
  4. B3 কক্ষে, লিখুন: =MEDIAN(B9:B100)
  5. B4 কক্ষে, লিখুন: =MIN(B9:B100)
  6. B5 ঘরে, লিখুন: =MAX(B9:B100)
  7. B6 কক্ষে, লিখুন: =STDEV(B9:B100)
  8. সমস্ত কাউন্টার কলামে সূত্রগুলি অনুলিপি করুন
  9. B9 ঘর নির্বাচন করুন এবং প্যানগুলি ফ্রিজ করতে Alt+W+F+Enter টিপুন।

এই পরিসংখ্যানগুলি প্রতিটি কাউন্টারের জন্য প্রবণতা, বহির্মুখী এবং স্বাভাবিক অপারেটিং রেঞ্জ সনাক্ত করতে সহায়তা করে।

৭. লগ (PAL) টুলের জন্য কর্মক্ষমতা বিশ্লেষণ

৭.১ PAL এর ভূমিকা

লগের জন্য পারফরম্যান্স বিশ্লেষণ (PAL) হল ক্লিন্ট হাফম্যান দ্বারা তৈরি একটি বিনামূল্যের টুল যা পারফরম্যান্স মনিটর লগ বিশ্লেষণ করে এবং থ্রেশহোল্ড বিশ্লেষণের মাধ্যমে HTML রিপোর্ট তৈরি করে। PAL আপনার পারফরম্যান্স ডেটা পরিচিত থ্রেশহোল্ডের সাথে তুলনা করে এবং এর জন্য বিস্তারিত সুপারিশ প্রদান করে SQL Server কর্মক্ষমতা অপ্টিমাইজেশান।

GitHub সংগ্রহস্থল থেকে PAL ডাউনলোড করুন: https://github.com/clinthuffman/PAL এক্সটার্নাল লিংক

৭.২ PAL সেট আপ করা

এই ধাপগুলি অনুসরণ করে PAL ইনস্টল করুন:

  1. GitHub থেকে PAL সেটআপ ফাইলটি ডাউনলোড করুন।
  2. ইনস্টলার চালান
  3. ক্লিক পরবর্তী স্বাগত পর্দায়
  4. ইনস্টলেশন ডিরেক্টরিটি পর্যালোচনা করুন এবং গ্রহণ করুন
  5. ক্লিক পরবর্তী অবিরত রাখতে
  6. ক্লিক ইনস্টল করুন ইনস্টলেশন শুরু করতে
  7. ইনস্টলেশন সমাপ্তির জন্য অপেক্ষা করুন
  8. ক্লিক শেষ

৭.৩ PAL দিয়ে লগ ফাইল প্রক্রিয়াকরণ

PAL ব্যবহার করে আপনার পারফরম্যান্স মনিটর লগ বিশ্লেষণ করুন:

  1. স্টার্ট মেনু বা ইনস্টলেশন ডিরেক্টরি থেকে PAL চালু করুন।
  2. ক্লিক করুন কাউন্টার লগ ট্যাব
  3. ক্লিক ব্রাউজ করুন আপনার .blg ফাইলটি নির্বাচন করতে
  4. আপনার পারফরম্যান্স মনিটর লগ ফাইলে নেভিগেট করুন।
  5. ক্লিক খোলা
  6. ক্লিক করুন থ্রেশহোল্ড ফাইল ট্যাব
  7. ড্রপডাউন থেকে একটি থ্রেশহোল্ড ফাইল নির্বাচন করুন (যেমন, “SQL Server 2016 ")
  8. ক্লিক করুন প্রশ্ন ট্যাব
  9. আপনার সিস্টেম কনফিগারেশন সম্পর্কে প্রশ্নের উত্তর দিন
  10. আপনার কিনা তা উল্লেখ করুন SQL Server OLTP বা ডেটা ওয়্যারহাউস কি?
  11. মোট উপলব্ধ RAM লিখুন
  12. ক্লিক করুন আউটপুট বিকল্প ট্যাব
  13. HTML রিপোর্টের জন্য একটি আউটপুট ডিরেক্টরি নির্বাচন করুন।
  14. চেক এইচটিএমএল আউটপুট ফরমেট
  15. ক্লিক করুন এক্সিকিউট ট্যাব
  16. আপনার নির্বাচনগুলি পর্যালোচনা করুন
  17. চেক এখনই কার্যকর করা শুরু করুন
  18. ক্লিক শেষ

৭.৪ PAL রিপোর্ট বিশ্লেষণ করা

PAL বিশ্লেষণ সম্পন্ন করার পর, এটি একটি HTML রিপোর্ট তৈরি করে যার মধ্যে রয়েছে:

  • কর্মক্ষমতা সংক্রান্ত সমস্যাগুলির নির্বাহী সারসংক্ষেপ
  • চার্ট সহ বিস্তারিত পাল্টা বিশ্লেষণ
  • থ্রেশহোল্ড লঙ্ঘন রঙে হাইলাইট করা হয়েছে
  • প্রতিটি ইস্যুর জন্য নির্দিষ্ট সুপারিশ
  • ঐতিহাসিক প্রবণতা এবং নিদর্শন

প্রতিবেদনটি তীব্রতা নির্দেশ করার জন্য রঙিন কোডিং ব্যবহার করে: গুরুতর সমস্যাগুলির জন্য লাল, সতর্কতার জন্য হলুদ এবং স্বাস্থ্যকর মেট্রিক্সের জন্য সবুজ। কর্মক্ষমতার বাধাগুলি বুঝতে এবং অপ্টিমাইজেশনের জন্য PAL এর সুপারিশগুলি অনুসরণ করতে প্রতিটি বিভাগ পর্যালোচনা করুন।

8. বিকল্প SQL Server নজরদারি সরঞ্জাম

8.1 অন্তর্নির্মিত SQL Server টুলস

8.1.1 SQL Server ক্রিয়াকলাপ নিরীক্ষক

SQL Server ক্রিয়াকলাপ নিরীক্ষক সম্পর্কে রিয়েল-টাইম তথ্য প্রদর্শন করে SQL Server প্রক্রিয়া এবং কর্মক্ষমতা:

  1. খোলা SQL Server ম্যানেজমেন্ট স্টুডিও (SSMS) এবং আপনার সার্ভার ইনস্ট্যান্সের সাথে সংযোগ করুন
  2. অবজেক্ট এক্সপ্লোরারে সার্ভারের নামের উপর ডান-ক্লিক করুন।
  3. নির্বাচন করা ক্রিয়াকলাপ নিরীক্ষক
    অ্যাক্টিভিটি মনিটর শুরু করুন SQL Server ম্যানেজমেন্ট স্টুডিও

অ্যাক্টিভিটি মনিটর প্রক্রিয়া, রিসোর্স অপেক্ষা, ডেটা ফাইল I/O এবং সাম্প্রতিক ব্যয়বহুল কোয়েরি দেখায়। এটি বর্তমান ডাটাবেস কার্যকলাপের দ্রুত অন্তর্দৃষ্টি প্রদান করে কিন্তু ঐতিহাসিক ডেটা সংরক্ষণ করে না।

অ্যাক্টিভিটি মনিটর ইন SQL Server

8.1.2 SQL Server পারফরম্যান্স ড্যাশবোর্ড

SQL Server ম্যানেজমেন্ট স্টুডিওতে অন্তর্নির্মিত কর্মক্ষমতা প্রতিবেদন অন্তর্ভুক্ত রয়েছে:

  1. In SQL Server ম্যানেজমেন্ট স্টুডিও (SSMS), ডান-ক্লিক করুন SQL Server অবজেক্ট এক্সপ্লোরারে উদাহরণ
  2. নির্বাচন করা প্রতিবেদন -> স্ট্যান্ডার্ড রিপোর্ট
  3. উপলব্ধ রিপোর্ট থেকে বেছে নিন যেমন পারফরম্যান্স ড্যাশবোর্ড
    পারফর্মেন্স ড্যাশবোর্ড খুলুন SQL Server ম্যানেজমেন্ট স্টুডিও

পারফরম্যান্স ড্যাশবোর্ড ভিজ্যুয়াল অন্তর্দৃষ্টি প্রদান করে SQL Server সিস্টেম CPU ব্যবহার, বর্তমান অপেক্ষার অনুরোধ এবং কর্মক্ষমতা মেট্রিক্স সহ উদাহরণ কর্মক্ষমতা। স্ট্যান্ডার্ড রিপোর্ট মেনুর মাধ্যমে এটি অ্যাক্সেস করুন।

পারফরম্যান্স ড্যাশবোর্ড ইন SQL Server ম্যানেজমেন্ট স্টুডিও

8.1.3 SQL Server প্রোফাইলার

SQL Server প্রোফাইলার ক্যাপচার এবং বিশ্লেষণ SQL Server ক্যোয়ারী সম্পাদন, লেনদেন কার্যক্রম এবং লগইন কার্যকলাপের মতো ইভেন্টগুলি।

শুরুতেই SQL Server প্রোফাইলার:

  1. In SQL Server ম্যানেজমেন্ট স্টুডিও, ক্লিক করুন টুলস -> SQL Server প্রোফাইলার
    শুরু SQL Server প্রোফাইলার ইন SQL Server ম্যানেজমেন্ট স্টুডিও

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

SQL Server প্রোফাইলার

৮.১.৩ বর্ধিত ইভেন্ট

বর্ধিত ইভেন্ট এটি একটি হালকা ওজনের কর্মক্ষমতা পর্যবেক্ষণ ব্যবস্থা যার মধ্যে অন্তর্নির্মিত SQL Server। এটি প্রতিস্থাপন করে SQL Server উন্নত কর্মক্ষমতা এবং কম ওভারহেড সহ প্রোফাইলার।

মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে:

  • নির্দিষ্ট ইভেন্টের সূক্ষ্ম পর্যবেক্ষণ
  • ন্যূনতম কর্মক্ষমতা প্রভাব
  • কাস্টমাইজেবল ইভেন্ট সেশন
  • SSMS এবং অন্যান্য সরঞ্জামের সাথে ইন্টিগ্রেশন
  • জটিল ফিল্টারিং এবং একত্রিতকরণের জন্য সমর্থন

SSMS এর মাধ্যমে বর্ধিত ইভেন্ট সেশন তৈরি করুন:

  1. In অবজেক্ট এক্সপ্লোরার, আপনার সার্ভার প্রসারিত করুন এবং যান ব্যবস্থাপনা -> বর্ধিত ইভেন্ট -> সেশন
  2. ডান দিকে ক্লিক করুন দায়রা এবং নির্বাচন করুন নতুন সেশন উইজার্ড
    এক্সটেন্ডেড ইভেন্টস-এর একটি নতুন সেশন শুরু করুন SQL Server ম্যানেজমেন্ট স্টুডিও
  3. নতুন সেশন শুরু করতে নির্দেশাবলী অনুসরণ করুন।

৮.১.৪ গতিশীল ব্যবস্থাপনা দৃশ্য (DMV)

স্বাস্থ্য পর্যবেক্ষণ, সমস্যা নির্ণয় এবং কর্মক্ষমতা সামঞ্জস্য করার জন্য DMV গুলি সার্ভারের অবস্থার বিস্তারিত তথ্য প্রকাশ করে। মূল DMV গুলির মধ্যে রয়েছে:

  • sys.dm_exec_query_stats: কোয়েরি পারফরম্যান্স পরিসংখ্যান
  • sys.dm_os_wait_stats: অপেক্ষার ধরণগুলি সার্ভারের কর্মক্ষমতাকে প্রভাবিত করে
  • sys.dm_os_performance_counters: SQL Server কর্মক্ষমতা গণনার তথ্য
  • sys.dm_exec_requests: বর্তমানে অনুরোধগুলি কার্যকর করা হচ্ছে
  • sys.dm_exec_sessions: সক্রিয় ব্যবহারকারীর সেশন

রিয়েল-টাইম পারফরম্যান্স ডেটা এবং ঐতিহাসিক মেট্রিক্স অ্যাক্সেস করতে T-SQL ব্যবহার করে এই ভিউগুলি অনুসন্ধান করুন।

বেসিক ব্যবহার

-- See all active connections
SELECT * FROM sys.dm_exec_connections;

-- View current sessions
SELECT * FROM sys.dm_exec_sessions;

-- Check database file stats
SELECT * FROM sys.dm_io_virtual_file_stats(NULL, NULL);

৮.২ তৃতীয় পক্ষের পর্যবেক্ষণ সমাধান

রেডগেট এসকিউএল মনিটর

রেডগেট এসকিউএল মনিটর পর্যবেক্ষণে বিশেষজ্ঞ SQL Server এবং Azure SQL ডাটাবেস পরিবেশ। এটি এস্টেট-ব্যাপী পর্যবেক্ষণ, কাস্টমাইজযোগ্য সতর্কতা এবং ড্যাশবোর্ড, বিস্তারিত প্রতিবেদন ক্ষমতা এবং অন্যান্য রেডগেট সরঞ্জামগুলির সাথে একীকরণ প্রদান করে।

রেডগেট SQL Server মনিটর

SolarWinds SQL Server পর্যবেক্ষণ সরঞ্জাম

সোলার উইন্ডস SQL Server মনিটরিং টুল, যা এসকিউএল সেন্ট্রি নামেও পরিচিত, এটি নির্ণয়, সমাধান এবং গুরুতর কর্মক্ষমতা সমস্যা প্রতিরোধ করার জন্য ডিজাইন করা হয়েছে SQL Server.

SolarWinds SQL Server পর্যবেক্ষণ সরঞ্জাম

IDERA এর SQL Server কর্মক্ষমতা মনিটরিং টুল

IDERA SQL ডায়াগনস্টিক ম্যানেজার একটি শক্তিশালী SQL Server সক্রিয় কর্মক্ষমতা পর্যবেক্ষণ, রোগনির্ণয় এবং সমন্বয়ে সহায়তা করার জন্য ডিজাইন করা একটি কর্মক্ষমতা পর্যবেক্ষণ টুল।

IDERA এর SQL Server কর্মক্ষমতা মনিটরিং টুল

অ্যাপ্লিকেশন ম্যানেজারের এসকিউএল মনিটরিং

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

অ্যাপ্লিকেশন ম্যানেজারের এসকিউএল মনিটরিং

৮.৩ ওপেন সোর্স মনিটরিং টুলস

ডিবিএ ড্যাশ

DBA Dash হল একটি বিনামূল্যের, ওপেন-সোর্স মনিটরিং টুল যা অন্তর্দৃষ্টি প্রদান করে SQL Server স্বাস্থ্য, কর্মক্ষমতা এবং কার্যকলাপ। এটি বিশেষ করে ছোট থেকে মাঝারি আকারের পরিবেশের জন্য কার্যকর এবং এতে দৈনিক DBA পরীক্ষা, কর্মক্ষমতা পর্যবেক্ষণ এবং কনফিগারেশন ট্র্যাকিং অন্তর্ভুক্ত রয়েছে।

SQLWATCH সম্পর্কে

SQLWATCH বিকেন্দ্রীভূত, প্রায় রিয়েল-টাইম অফার করে SQL Server কাজের চাপ ক্যাপচার করার জন্য ৫-সেকেন্ডের গ্র্যানুলারিটি সহ পর্যবেক্ষণ। এটি রিয়েল-টাইম ড্যাশবোর্ডের জন্য গ্রাফানা এবং গভীর বিশ্লেষণের জন্য পাওয়ার বিআই সমর্থন করে। এই সরঞ্জামটি বিস্তৃত কনফিগারেশন বিকল্প, শূন্য রক্ষণাবেক্ষণের প্রয়োজনীয়তা এবং সীমাহীন স্কেলেবিলিটি সরবরাহ করে।

অপসার্ভার

স্ট্যাক এক্সচেঞ্জ দ্বারা তৈরি, অপসার্ভার একাধিক সিস্টেম পর্যবেক্ষণ করে যার মধ্যে রয়েছে SQL Server, Redis, এবং Elasticsearch। এটি আপনার পরিকাঠামো জুড়ে CPU, মেমরি, নেটওয়ার্ক এবং হার্ডওয়্যার পরিসংখ্যানের জন্য একটি "সমস্ত সার্ভার" ভিউ প্রদান করে।

sp_WhoIsActive সম্পর্কে

sp_WhoIsActive হল অ্যাডাম মাচানিক দ্বারা তৈরি একটি বিস্তৃত কার্যকলাপ পর্যবেক্ষণ সঞ্চিত পদ্ধতি। এটি সকলের সাথে কাজ করে SQL Server ২০০৫ সাল থেকে বর্তমান সংস্করণ পর্যন্ত এবং ব্যাপকভাবে ব্যবহৃত হয় SQL Server রিয়েল-টাইম কার্যকলাপ পর্যবেক্ষণের জন্য DBA।

sp_WhoIsActive ব্যবহার করতে, http://whoisactive.com/ থেকে এটি ডাউনলোড করুন, আপনার ডাটাবেসে এটি ইনস্টল করুন এবং কার্যকর করুন:

EXEC sp_WhoIsActive

এই পদ্ধতিতে বর্তমানে কার্যকর করা কোয়েরি, অপেক্ষার তথ্য, ব্লকিং বিশদ এবং রিসোর্স খরচ দেখানো হয়েছে।

9. এর জন্য সর্বোত্তম অভ্যাস SQL Server কর্মক্ষমতা মনিটর

৯.১ কর্মক্ষমতার ভিত্তি স্থাপন

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

বেসলাইন তৈরি করুন:

  1. কমপক্ষে এক সপ্তাহ ধরে স্বাভাবিক ক্রিয়াকলাপের সময় কর্মক্ষমতা তথ্য সংগ্রহ করা
  2. পিক এবং অফ-পিক উভয় সময়েই মেট্রিক্স ক্যাপচার করা
  3. কী কাউন্টারের জন্য সাধারণ মানগুলি নথিভুক্ত করা
  4. প্রযোজ্য হলে ঋতুগত পরিবর্তন লিপিবদ্ধ করা।
  5. ভবিষ্যতের মেট্রিক্সের সাথে তুলনা করার জন্য বেসলাইন ডেটা সংরক্ষণ করা

ত্রৈমাসিক ভিত্তিতে অথবা উল্লেখযোগ্য অবকাঠামোগত পরিবর্তন, অ্যাপ্লিকেশন আপডেট, বা ডাটাবেস পরিবর্তনের পরে বেসলাইন আপডেট করুন।

৯.২ যথাযথ সতর্কতা থ্রেশহোল্ড নির্ধারণ করা

বিজ্ঞপ্তি দিয়ে নিজেকে ভারগ্রস্ত না করে অর্থপূর্ণ সতর্কতা পেতে বুদ্ধিমান থ্রেশহোল্ড কনফিগার করুন:

  • মেমোরি গ্রান্টস পেন্ডিং > 0 মেমোরি চাপ নির্দেশ করে
  • প্রসেসরের সারির দৈর্ঘ্য > প্রতি কোরে 2 হলে CPU-র বাধার ইঙ্গিত পাওয়া যায়
  • ডিস্ক সেকেন্ড/পড়ুন অথবা লিখুন > ২০ মিলিসেকেন্ড ধীর I/O নির্দেশ করে
  • ব্লক করা প্রক্রিয়া > ৫টি বিবাদজনিত সমস্যার ইঙ্গিত দেয়
  • পৃষ্ঠার আয়ুষ্কাল < 300 সেকেন্ড স্মৃতি চাপ নির্দেশ করে

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

৯.৩ নিয়মিত তথ্য পর্যালোচনা এবং বিশ্লেষণ

প্রবণতা এবং উদীয়মান সমস্যাগুলি সনাক্ত করতে নিয়মিত কর্মক্ষমতা পর্যালোচনার সময়সূচী নির্ধারণ করুন:

  • দৈনিক: উচ্চ-স্তরের মেট্রিক্স এবং সাম্প্রতিক সতর্কতা পর্যালোচনা করুন
  • সাপ্তাহিক: কর্মক্ষমতা প্রবণতার গভীর বিশ্লেষণ পরিচালনা করুন
  • মাসিক: বিস্তৃত প্রতিবেদন তৈরি করুন এবং বেসলাইনের সাথে তুলনা করুন।
  • ত্রৈমাসিক: সক্ষমতা পরিকল্পনা এবং দীর্ঘমেয়াদী প্রবণতা পর্যালোচনা করুন

সময়ের সাথে সাথে ফলাফলগুলি নথিভুক্ত করুন এবং কর্মক্ষমতা উন্নতি ট্র্যাক করুন।

৯.৪ ওভারহেডের ভারসাম্য পর্যবেক্ষণ

মনিটরিং নিজেই সম্পদ খরচ করে, তাই কর্মক্ষমতা প্রভাবের সাথে ডেটা সংগ্রহের ভারসাম্য বজায় রাখুন:

  • ক্রমাগত পর্যবেক্ষণের জন্য 30-60 সেকেন্ডের ব্যবধান ব্যবহার করুন
  • শুধুমাত্র সক্রিয় সমস্যা সমাধানের জন্য ১৫ সেকেন্ডের ব্যবধান ব্যবহার করুন
  • অতিরিক্ত ডেটা এড়াতে ডেটা কালেক্টর সেটের সময়কাল সীমিত করুন
  • ডাটাবেস ফাইল থেকে আলাদা ড্রাইভে লগ সংরক্ষণ করুন
  • পরিচালনাযোগ্য ফাইলের আকার বজায় রাখতে পুরানো কর্মক্ষমতা ডেটা সংরক্ষণাগারভুক্ত করুন

সঠিকভাবে কনফিগার করা হলে পারফরম্যান্স মনিটর ন্যূনতম ওভারহেড যোগ করে, সাধারণত সিস্টেম রিসোর্সের 2% এর কম।

৯.৫ দীর্ঘমেয়াদী তথ্য ধারণ

অর্থপূর্ণ প্রবণতা বিশ্লেষণ এবং সক্ষমতা পরিকল্পনার জন্য কর্মক্ষমতা তথ্য সংরক্ষণ করুন:

  • কমপক্ষে ১-২ বছরের কর্মক্ষমতা তথ্য রাখুন
  • ৩-৬ মাস পর আলাদা স্টোরেজে ডেটা আর্কাইভ করুন
  • স্থান বাঁচাতে পুরানো লগ ফাইলগুলি সংকুচিত করুন
  • কর্মক্ষমতা প্রভাবিত করে এমন কোনও উল্লেখযোগ্য ঘটনা বা পরিবর্তন নথিভুক্ত করুন

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

৯.৬ DevOps অনুশীলনের সাথে একীভূতকরণ

CI/CD পাইপলাইনে ডাটাবেস কর্মক্ষমতা পর্যবেক্ষণ অন্তর্ভুক্ত করুন:

  • স্থাপনার বৈধতায় ডাটাবেস কর্মক্ষমতা মেট্রিক্স অন্তর্ভুক্ত করুন
  • নতুন রিলিজের জন্য স্বয়ংক্রিয় কর্মক্ষমতা পরীক্ষা
  • কোড পরিবর্তনগুলি কর্মক্ষমতাকে নেতিবাচকভাবে প্রভাবিত করে না তা যাচাই করুন
  • প্রতিটি রিলিজের জন্য পারফরম্যান্স বেঞ্চমার্ক তৈরি করুন
  • ঘটনা ব্যবস্থাপনা সিস্টেমের সাথে পর্যবেক্ষণ সতর্কতা একীভূত করুন

১০. সাধারণ কর্মক্ষমতা সংক্রান্ত সমস্যা সমাধান

১০.১ সিপিইউ বাধা চিহ্নিতকরণ

CPU-র সমস্যাগুলি ধীর গতির কোয়েরি রেসপন্স টাইম এবং উচ্চ প্রসেসরের ব্যবহার হিসাবে প্রকাশ পায়। CPU সমস্যাগুলি নির্ণয়ের জন্য এই পদক্ষেপগুলি ব্যবহার করুন:

  1. প্রসেসরের কিউ লেন্থ কাউন্টার পরীক্ষা করুন। প্রতি কোরে 2 এর উপরে মান CPU চাপ নির্দেশ করে
  2. পর্যালোচনা % প্রসেসর সময়। ৭৫% এর বেশি স্থায়ী মান CPU-তে বাধার ইঙ্গিত দেয়
  3. রিমোট ডেস্কটপে SQL Server
  4. টাস্ক ম্যানেজার খুলুন (Ctrl+Shift+Esc)
  5. ক্লিক করুন প্রসেস ট্যাব
  6. চেক সকল ব্যবহারকারীর প্রসেস দেখান
  7. ক্লিক করুন সিপিইউ CPU ব্যবহার অনুসারে সাজানোর জন্য কলাম হেডার
  8. কোন প্রক্রিয়াগুলি CPU সম্পদ ব্যবহার করে তা চিহ্নিত করুন

যদি না-SQL Server অ্যাপ্লিকেশনগুলি উল্লেখযোগ্য CPU ব্যবহার করে, ডাটাবেস সার্ভার থেকে সেগুলি সরিয়ে ফেলুন। যদি sqlservr.exe উচ্চ CPU ব্যবহার করে, তাহলে এই পদ্ধতিগুলি ব্যবহার করে তদন্ত করুন:

  • SQL কম্পাইলেশন/সেকেন্ড এবং SQL পুনঃসংকলন/সেকেন্ড পরীক্ষা করুন। ব্যাচ রিকোয়েস্ট/সেকেন্ডের ১০% এর উপরে মান অত্যধিক কম্পাইলেশন নির্দেশ করে।
  • CPU-নিবিড় কোয়েরি সনাক্ত করতে sys.dm_exec_query_stats কোয়েরি করুন
  • অনুপস্থিত সূচক বা অদক্ষ ক্রিয়াকলাপের জন্য কার্যকর পরিকল্পনা পর্যালোচনা করুন।
  • টেবিল স্ক্যান কমাতে সূচী যোগ করার কথা বিবেচনা করুন

১০.২ স্মৃতি সমস্যা নির্ণয়

স্মৃতিশক্তির সমস্যা উল্লেখযোগ্যভাবে প্রভাবিত করে SQL Server কর্মক্ষমতা। এই সূচকগুলি ব্যবহার করে স্মৃতি সমস্যা নির্ণয় করুন:

উপলব্ধ মেমোরি ড্রপস

যদি উপলব্ধ মেগাবাইট (Available MBytes) ধারাবাহিকভাবে ১০০ মেগাবাইটের নিচে নেমে যায়, তাহলে অপারেটিং সিস্টেম মেমোরির অভাবে ভোগে। উইন্ডোজ পেজ আউট করতে পারে। SQL Server মেমোরি থেকে ডিস্কে স্থানান্তরিত হয়, যার ফলে কর্মক্ষমতা হ্রাস পায়।

কম পৃষ্ঠার আয়ুষ্কাল

৩০০ সেকেন্ডের নিচে পৃষ্ঠার আয়ুষ্কাল উচ্চ বাফার ক্যাশে টার্নওভার নির্দেশ করে। এটি হয় অপর্যাপ্ত মেমরি বরাদ্দকরণ, নয়তো কোয়েরি থেকে অতিরিক্ত মেমরি চাপের ইঙ্গিত দেয়।

কম বাফার ক্যাশে হিট অনুপাত

বাফার ক্যাশে হিট রেশিও ৯৯% এর নিচে মানে SQL Server প্রায়শই মেমরির পরিবর্তে ডিস্ক থেকে ডেটা পড়ে। এটি ঘটে যখন বাফার পুল খুব ছোট হয় বা SQL Server রিস্টার্ট করার পরেও এখনও গরম হচ্ছে।

মেমরি অনুদান মুলতুবি আছে

মেমোরি গ্রান্টস পেন্ডিং-এর জন্য ০-এর উপরে যেকোনো মান ইঙ্গিত দেয় যে কোয়েরিগুলি মেমোরি গ্রান্টের জন্য অপেক্ষা করছে। এটি একটি গুরুতর মেমোরি ঘাটতিকে প্রতিনিধিত্ব করে যার জন্য তাৎক্ষণিক মনোযোগ প্রয়োজন।

স্মৃতি সমস্যা সমাধানের জন্য:

  1. কনফিগার করুন SQL Server অপারেটিং সিস্টেমের জন্য পর্যাপ্ত RAM রাখার জন্য সর্বোচ্চ মেমোরি সেটিং (সাধারণত সার্ভারের আকারের উপর নির্ভর করে 4-8 GB)
  2. "মেমরিতে পৃষ্ঠাগুলি লক করুন" অনুমতি সক্ষম করুন SQL Server পরিষেবা অ্যাকাউন্ট
  3. মেমোরির চাপ অব্যাহত থাকলে সার্ভারে আরও ফিজিক্যাল RAM যোগ করুন
  4. মেমোরি-ইনটেনসিভ কোয়েরিগুলি সনাক্ত করুন এবং অপ্টিমাইজ করুন

১০.৩ ডিস্ক I/O সমস্যা সমাধান করা

ডিস্ক I/O প্রায়শই ডাটাবেস সিস্টেমের প্রাথমিক কর্মক্ষমতা বাধা হয়ে দাঁড়ায়। এই পদ্ধতিগুলি ব্যবহার করে ডিস্ক সমস্যা নির্ণয় করুন:

উচ্চ ডিস্ক সারির দৈর্ঘ্য

ডিস্ক সারির দৈর্ঘ্য ধারাবাহিকভাবে ২ (অথবা RAID-এর জন্য প্রতি ডিস্কে ২) এর উপরে থাকলে বোঝা যায় যে ডিস্ক সাবসিস্টেম I/O অনুরোধগুলি পূরণ করতে পারছে না। এর ফলে মুলতুবি থাকা ক্রিয়াকলাপগুলির একটি ব্যাকলগ তৈরি হয়।

অতিরিক্ত ডিস্ক লেটেন্সি

১০-২০ মিলিসেকেন্ডের উপরে গড় ডিস্ক সেকেন্ড/পড়া এবং গড় ডিস্ক সেকেন্ড/লেখার মান ধীর ডিস্ক প্রতিক্রিয়া নির্দেশ করে। লেনদেন লগ ড্রাইভের জন্য বিশেষভাবে দ্রুত কর্মক্ষমতা প্রয়োজন, আদর্শভাবে লেখার জন্য ৫ মিলিসেকেন্ডের কম।

উচ্চ % ডিস্ক সময়

একটানা ৮৫%-এর বেশি ডিস্ক টাইম ডিস্ক স্যাচুরেশন নির্দেশ করে। ডিস্ক তার বেশিরভাগ সময় ইনপুট/আউটপুট অনুরোধ প্রক্রিয়াকরণে ব্যয় করে এবং খুব কম অব্যবহৃত ক্ষমতা অবশিষ্ট থাকে।

ডিস্কের সমস্যা সমাধানের আগে, যাচাই করে নিন যে এগুলো মেমোরি সমস্যার লক্ষণ নয়। অপর্যাপ্ত মেমোরি ফোর্স SQL Server ডিস্ক থেকে আরও ডেটা পড়ার জন্য, কৃত্রিমভাবে ডিস্ক মেট্রিক্সকে স্ফীত করে।

আসল ডিস্ক I/O সমস্যা সমাধানের জন্য:

  • দ্রুত ডিস্কে আপগ্রেড করুন (HDD-এর পরিবর্তে SSD)
  • উন্নত কর্মক্ষমতার জন্য RAID কনফিগারেশন বাস্তবায়ন করুন
  • ডাটাবেস ফাইল, লেনদেন লগ এবং tempdb আলাদা আলাদা ফিজিক্যাল ড্রাইভে রাখুন।
  • ডিস্ক রিড কমাতে আরও মেমরি যোগ করুন
  • অপ্রয়োজনীয় I/O কমাতে সূচকগুলি অপ্টিমাইজ করুন
  • খারাপভাবে পারফর্ম করা কোয়েরিগুলি পর্যালোচনা এবং অপ্টিমাইজ করুন

১০.৪ ব্লকিং এবং ডেডলক মোকাবেলা

ব্লকিং তখন ঘটে যখন একটি সেশনে লক থাকে যা অন্য সেশনগুলিকে এগিয়ে যেতে বাধা দেয়। ব্লকিং সমস্যাগুলি সনাক্ত করতে এই কাউন্টারগুলি পর্যবেক্ষণ করুন:

  • ব্লক করা প্রক্রিয়াগুলি: আদর্শভাবে ০ হওয়া উচিত
  • লক অপেক্ষা/সেকেন্ড: অপেক্ষা করার জন্য প্রয়োজনীয় লক অনুরোধের সংখ্যা
  • গড় অপেক্ষার সময়: লক অপেক্ষার গড় সময়কাল

ব্লকিং তদন্ত করতে:

  1. SSMS-এ অ্যাক্টিভিটি মনিটর খুলুন
  2. বিস্তৃত করা প্রসেস অধ্যায়
  3. শূন্যবিহীন প্রক্রিয়াগুলি সন্ধান করুন ব্লক করেছে মূল্যবোধ
  4. ব্লকিং সেশন আইডি সনাক্ত করুন
  5. ব্লক করার কারণ হওয়া কোয়েরিগুলি পর্যালোচনা করুন

আরও বিস্তারিত ব্লকিং বিশ্লেষণের জন্য sp_WhoIsActive ব্যবহার করুন। অতিরিক্ত wait_info এন্ট্রি প্রায়শই tempdb বিতর্ক বা ব্লকিং সমস্যা নির্দেশ করে।

ব্লকিং কমাতে:

  • লেনদেনের সময়কাল কমিয়ে আনুন
  • উপযুক্ত আইসোলেশন লেভেল ব্যবহার করুন
  • লকের সময়কাল কমাতে সূচী যোগ করুন
  • READ_COMMITTED_SNAPSHOT আইসোলেশন বিবেচনা করুন
  • দীর্ঘমেয়াদী প্রশ্নগুলি পর্যালোচনা এবং অপ্টিমাইজ করুন

১০.৫ কোয়েরি পারফরম্যান্স সমস্যা

SQL কর্মক্ষমতা পর্যবেক্ষণের জন্য ব্যয়বহুল কোয়েরি সনাক্ত করা অপরিহার্য। সমস্যাযুক্ত কোয়েরি খুঁজে পেতে এই পদ্ধতিগুলি ব্যবহার করুন:

অ্যাক্টিভিটি মনিটর ব্যবহার করা

  1. SSMS-এ, সার্ভারের নামের উপর ডান-ক্লিক করুন
  2. নির্বাচন করা ক্রিয়াকলাপ নিরীক্ষক
  3. বিস্তৃত করা সাম্প্রতিক ব্যয়বহুল প্রশ্নগুলি
  4. উচ্চ CPU, সময়কাল, বা লজিক্যাল রিড সহ কোয়েরি পর্যালোচনা করুন

DMV ব্যবহার

রিসোর্স-ইনটেনসিভ কোয়েরি সনাক্ত করতে sys.dm_exec_query_stats কোয়েরি করুন:

SELECT TOP 50
    total_worker_time/execution_count AS avg_cpu_time,
    total_logical_reads/execution_count AS avg_logical_reads,
    execution_count,
    SUBSTRING(qt.text, (qs.statement_start_offset/2)+1,
        ((CASE qs.statement_end_offset
            WHEN -1 THEN DATALENGTH(qt.text)
            ELSE qs.statement_end_offset
        END - qs.statement_start_offset)/2) + 1) AS query_text
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt
ORDER BY total_worker_time DESC

বাস্তবায়ন পরিকল্পনা বিশ্লেষণ করা

  1. SSMS-এ, একটি নতুন কোয়েরি উইন্ডো খুলুন
  2. ক্লিক আনুমানিক কার্যকর পরিকল্পনা প্রদর্শন করুন (Ctrl+L) অথবা প্রকৃত বাস্তবায়ন পরিকল্পনা অন্তর্ভুক্ত করুন (Ctrl+M)
  3. আপনার কোয়েরিটি সম্পাদন করুন
  4. ব্যয়বহুল কার্যক্রমের জন্য বাস্তবায়ন পরিকল্পনা পর্যালোচনা করুন
  5. টেবিল স্ক্যান, ইনডেক্স স্ক্যান বা উচ্চ-ব্যয়বহুল অপারেশনগুলো সন্ধান করুন।

নিম্নলিখিত পদ্ধতি অনুসরণ করে কোয়েরিগুলি অপ্টিমাইজ করুন:

  • উপযুক্ত সূচক যোগ করা হচ্ছে
  • ব্যয়বহুল অপারেশন এড়াতে প্রশ্নগুলি পুনর্লিখন করা
  • পরিসংখ্যান আপডেট করা হচ্ছে
  • SELECT * এর পরিবর্তে নির্দিষ্ট কলামের নাম ব্যবহার করা হচ্ছে
  • অপ্রয়োজনীয় DISTINCT বা ORDER BY ধারাগুলি এড়িয়ে চলা

১০.৬ দুর্নীতিগ্রস্ত ডাটাবেস সনাক্ত এবং ঠিক করুন

ডাটাবেস দুর্নীতির ফলে কর্মক্ষমতা হ্রাস, ডেটা ক্ষতি এবং সিস্টেম ব্যর্থতা হতে পারে। ডাটাবেসের স্বাস্থ্য বজায় রাখার জন্য দ্রুত দুর্নীতি সনাক্তকরণ এবং সমাধান করা অত্যন্ত গুরুত্বপূর্ণ।

ডাটাবেস দুর্নীতির সূচক

সম্ভাব্য দুর্নীতির এই লক্ষণগুলি লক্ষ্য করুন:

  • ত্রুটি বার্তা SQL Server ত্রুটি লগ (ত্রুটি 823, 824, অথবা 825)
  • নির্দিষ্ট টেবিল অ্যাক্সেস করার সময় অপ্রত্যাশিত অ্যাপ্লিকেশন ত্রুটি
  • আগের দ্রুত কোয়েরিতে ধীর কোয়েরি কর্মক্ষমতা
  • SQL Server ক্র্যাশ বা অপ্রত্যাশিত রিস্টার্ট
  • msdb.dbo.suspect_pages টেবিলে সন্দেহজনক পৃষ্ঠাগুলি দেখা যাচ্ছে

সনাক্তকরণের জন্য DBCC CHECKDB ব্যবহার করা

ডিবিসিসি চেকডিবি ডাটাবেস দুর্নীতি সনাক্তকরণের প্রাথমিক হাতিয়ার। সমস্যাগুলি তাড়াতাড়ি ধরার জন্য এটি নিয়মিত চালান।

সন্দেহভাজন পৃষ্ঠাগুলি পর্যবেক্ষণ করা

SQL Server msdb ডাটাবেসে সন্দেহভাজন পৃষ্ঠাগুলি স্বয়ংক্রিয়ভাবে রেকর্ড করে:

SELECT 
    database_id,
    file_id,
    page_id,
    event_type,
    error_count,
    last_update_date
FROM msdb.dbo.suspect_pages
WHERE event_type IN (1,2,3)

যেকোনো সারি ফেরত দেওয়া মানে দুর্নীতির সমস্যাগুলির প্রতি তাৎক্ষণিক মনোযোগ দেওয়া।

দুর্নীতি প্রতিরোধ কৌশল

  • CHECKSUM বিকল্পের সাহায্যে পৃষ্ঠা যাচাইকরণ সক্ষম করুন
  • নিয়মিত ডাটাবেস ব্যাকআপ বজায় রাখুন
  • ত্রুটি সংশোধন সহ নির্ভরযোগ্য হার্ডওয়্যার ব্যবহার করুন
  • প্রস্তুতকারকের সরঞ্জাম ব্যবহার করে ডিস্কের স্বাস্থ্য পর্যবেক্ষণ করুন
  • নিয়মিত DBCC CHECKDB রানের সময়সূচী নির্ধারণ করুন
  • রাখা SQL Server সর্বশেষ প্যাচ সহ আপডেট করা হয়েছে

পুনরুদ্ধার এবং মেরামতের বিকল্পগুলি

যদি দুর্নীতি সনাক্ত করা হয়, তাহলে আপনি বিল্ট-ইন টুলটি চেষ্টা করতে পারেন ডিবিসিসি চেকডিবি এগুলো ঠিক করতে। যদি ব্যর্থ হয়, তাহলে তৃতীয় পক্ষের সরঞ্জাম ব্যবহার করুন যেমন DataNumen SQL Recovery যা গুরুতর দুর্নীতি মোকাবেলা করতে পারে।

১১. উন্নত পর্যবেক্ষণ কৌশল

১১.১ কোয়েরি স্টোর মনিটরিং

কোয়েরি স্টোর, চালু হয়েছে SQL Server ২০১৬, স্বয়ংক্রিয়ভাবে কোয়েরি পারফর্ম্যান্স ডেটা ক্যাপচার করে। এটি কোয়েরি আচরণ, বাস্তবায়ন পরিকল্পনা এবং পারফর্ম্যান্স ট্রেন্ড সম্পর্কে মূল্যবান অন্তর্দৃষ্টি প্রদান করে।

কোয়েরি স্টোর সক্ষম করা হচ্ছে

  1. SSMS অবজেক্ট এক্সপ্লোরারে, একটি ডাটাবেসে ডান-ক্লিক করুন
  2. নির্বাচন করা প্রোপার্টি
  3. ক্লিক করুন অনুসন্ধান দোকান পৃষ্ঠা
  4. In অপারেশন মোড (অনুরোধ করা হয়েছে), নির্বাচন করুন পড়ুন লিখুন
  5. প্রয়োজনে অতিরিক্ত সেটিংস কনফিগার করুন
  6. ক্লিক OK

কোয়েরি পারফর্মেন্স পর্যবেক্ষণ করা হচ্ছে

অবজেক্ট এক্সপ্লোরারের মাধ্যমে কোয়েরি স্টোর রিপোর্ট অ্যাক্সেস করুন:

  1. অবজেক্ট এক্সপ্লোরারে ডাটাবেস প্রসারিত করুন
  2. বিস্তৃত করা অনুসন্ধান দোকান
  3. উপলব্ধ রিপোর্ট থেকে নির্বাচন করুন:
    • রিগ্রেসড কোয়েরি
    • সামগ্রিক সম্পদ খরচ
    • শীর্ষস্থানীয় রিসোর্স গ্রাসকারী প্রশ্নাবলী
    • জোরপূর্বক পরিকল্পনা সহ প্রশ্ন
    • ট্র্যাক করা কোয়েরি

পরিকল্পনা রিগ্রেশন সনাক্তকরণ

কোয়েরি এক্সিকিউশন প্ল্যান কখন পরিবর্তিত হয় এবং কর্মক্ষমতা কমে যায় তা কোয়েরি স্টোর স্বয়ংক্রিয়ভাবে সনাক্ত করে। প্ল্যান পরিবর্তনের ফলে প্রভাবিত কোয়েরিগুলি সনাক্ত করতে Regressed Queries রিপোর্টটি পর্যালোচনা করুন।

জোরপূর্বক পরিকল্পনা ব্যবস্থাপনা

যখন কোয়েরি স্টোর একটি উন্নত কার্যকর পরিকল্পনা সনাক্ত করে, তখন জোর করে SQL Server এটি ব্যবহার করতে:

  1. কোয়েরি স্টোরে কোয়েরিটি খুলুন
  2. পছন্দসই পরিকল্পনায় ডান-ক্লিক করুন
  3. নির্বাচন করা বল পরিকল্পনা

এটি কোড পরিবর্তনের প্রয়োজন ছাড়াই তাৎক্ষণিকভাবে কর্মক্ষমতা উন্নত করে।

১১.২ সূচক রক্ষণাবেক্ষণ পর্যবেক্ষণ

সূচক বিভাজন সময়ের সাথে সাথে কোয়েরির কর্মক্ষমতা হ্রাস করে। সর্বোত্তম কর্মক্ষমতা নিশ্চিত করতে নিয়মিত সূচকগুলি পর্যবেক্ষণ এবং রক্ষণাবেক্ষণ করুন।

ফ্র্যাগমেন্টেশন চেকিং

সূচক বিভাজন পরীক্ষা করতে এই কোয়েরিটি ব্যবহার করুন:

SELECT 
    OBJECT_NAME(i.object_id) AS table_name,
    i.name AS index_name,
    ps.avg_fragmentation_in_percent,
    ps.page_count
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
WHERE ps.avg_fragmentation_in_percent > 10
    AND ps.page_count > 1000
ORDER BY ps.avg_fragmentation_in_percent DESC

অফ-পিক আওয়ারে এই কোয়েরিটি চালান কারণ এটি সম্পদ-নিবিড় হতে পারে।

পৃষ্ঠা ঘনত্ব বিশ্লেষণ

পৃষ্ঠার ঘনত্ব নির্দেশ করে যে পৃষ্ঠাগুলির পূর্ণ সূচক কত। কম ঘনত্ব স্থান নষ্ট করে এবং কর্মক্ষমতা হ্রাস করে:

SELECT 
    OBJECT_NAME(i.object_id) AS table_name,
    i.name AS index_name,
    ps.avg_page_space_used_in_percent
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'SAMPLED') ps
INNER JOIN sys.indexes i ON ps.object_id = i.object_id 
    AND ps.index_id = i.index_id
WHERE ps.avg_page_space_used_in_percent < 75

পুনর্গঠন বনাম পুনর্নির্মাণের সিদ্ধান্ত

ফ্র্যাগমেন্টেশন স্তরের উপর ভিত্তি করে সূচক রক্ষণাবেক্ষণ ক্রিয়াকলাপগুলি চয়ন করুন:

  • ফ্র্যাগমেন্টেশন ১০-৩০%: ALTER INDEX REORGANIZE ব্যবহার করুন
  • ফ্র্যাগমেন্টেশন > 30%: ALTER INDEX REBUILD ব্যবহার করুন
  • ফ্র্যাগমেন্টেশন < ১০%: কোনও পদক্ষেপের প্রয়োজন নেই

পুনর্গঠন কার্যক্রমের জন্য কম সম্পদের প্রয়োজন হয় এবং অনলাইনে চালানো যেতে পারে। পুনর্গঠন কার্যক্রম আরও পুঙ্খানুপুঙ্খ কিন্তু উল্লেখযোগ্য সম্পদ খরচ করে।

১১.৩ ডাটাবেস পরিসংখ্যান আপডেট

ডাটাবেস পরিসংখ্যান সহায়তা SQL Serverএর কোয়েরি অপ্টিমাইজার দক্ষ এক্সিকিউশন প্ল্যান তৈরি করে। পুরনো পরিসংখ্যানের ফলে কোয়েরি পারফর্ম্যান্স খারাপ হয়।

স্বয়ংক্রিয় পরিসংখ্যান পুনর্নির্মাণ

স্বয়ংক্রিয় পরিসংখ্যান আপডেট সক্ষম করুন:

ALTER DATABASE DatabaseName SET AUTO_UPDATE_STATISTICS ON
ALTER DATABASE DatabaseName SET AUTO_CREATE_STATISTICS ON

পরিসংখ্যান স্বাস্থ্য পর্যবেক্ষণ

পরিসংখ্যান শেষ কবে আপডেট করা হয়েছিল তা পরীক্ষা করুন:

SELECT 
    OBJECT_NAME(s.object_id) AS TableName,
    s.name AS StatisticsName,
    STATS_DATE(s.object_id, s.stats_id) AS LastUpdated,
    sp.rows,
    sp.modification_counter
FROM sys.stats s
CROSS APPLY sys.dm_db_stats_properties(s.object_id, s.stats_id) sp
WHERE STATS_DATE(s.object_id, s.stats_id) < DATEADD(DAY, -7, GETDATE())
ORDER BY LastUpdated

প্রয়োজনে পরিসংখ্যান ম্যানুয়ালি আপডেট করুন:

UPDATE STATISTICS TableName WITH FULLSCAN

১১.৪ কাস্টম পারফর্মেন্স ডেটা সংগ্রহ করা

sys.dm_os_performance_counters সরাসরি জিজ্ঞাসা করে এবং ফলাফল টেবিলে সংরক্ষণ করে কাস্টম কর্মক্ষমতা পর্যবেক্ষণ সমাধান তৈরি করুন।

কাস্টম সংগ্রহ স্ক্রিপ্ট তৈরি করা

পারফরম্যান্স কাউন্টার ডেটা সংগ্রহ করার জন্য একটি সঞ্চিত পদ্ধতি তৈরি করুন:

CREATE PROCEDURE dbo.CollectPerformanceCounters
AS
BEGIN
    INSERT INTO dbo.PerformanceHistory (
        SampleTime,
        CounterName,
        CounterValue
    )
    SELECT 
        GETDATE(),
        counter_name,
        cntr_value
    FROM sys.dm_os_performance_counters
    WHERE counter_name IN (
        'Page life expectancy',
        'Batch Requests/sec',
        'Buffer cache hit ratio'
    )
END

sys.dm_os_performance_counters ব্যবহার করা হচ্ছে

সরাসরি কর্মক্ষমতা কাউন্টার অনুসন্ধান করুন:

SELECT 
    object_name,
    counter_name,
    instance_name,
    cntr_value,
    cntr_type
FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Buffer Manager%'
ORDER BY counter_name

ঐতিহাসিক তথ্য সংরক্ষণ করা

সময়ের সাথে সাথে কর্মক্ষমতা মেট্রিক্স সংরক্ষণ করার জন্য একটি টেবিল তৈরি করুন:

CREATE TABLE dbo.PerformanceHistory (
    ID INT IDENTITY PRIMARY KEY,
    SampleTime DATETIME2 NOT NULL,
    PageLifeExpectancy BIGINT,
    BatchRequestsPerSec DECIMAL(18,4),
    BufferCacheHitRatio DECIMAL(5,2)
)

CREATE CLUSTERED COLUMNSTORE INDEX CCI_PerformanceHistory 
ON dbo.PerformanceHistory

পিভোটেড ডেটা স্টোরেজ পদ্ধতি

প্রতি নমুনা সময় এক সারি এবং প্রতি কাউন্টার প্রতি একটি কলাম সহ পিভটেড ফর্ম্যাটে ডেটা সংরক্ষণ করুন। এটি স্টোরেজ স্পেস হ্রাস করে এবং প্রতি নমুনা প্রতি কাউন্টার প্রতি একটি সারি সংরক্ষণের তুলনায় কোয়েরি কর্মক্ষমতা উন্নত করে।

১১.৫ মাল্টি-সার্ভার মনিটরিং

একাধিক পরিবেশের জন্য SQL Server উদাহরণস্বরূপ, কেন্দ্রীভূত পর্যবেক্ষণ বাস্তবায়ন করুন।

কেন্দ্রীভূত পর্যবেক্ষণ পদ্ধতি

  • একটি পৃথক সার্ভারে একটি ডেডিকেটেড মনিটরিং ডাটাবেস তৈরি করুন
  • সমস্ত সার্ভার থেকে কেন্দ্রীয় সংগ্রহস্থলে তথ্য সংগ্রহ করুন
  • ব্যবহার SQL Server সংগ্রহ স্ক্রিপ্ট চালানোর জন্য এজেন্টের কাজ
  • নেটওয়ার্ক-অ্যাক্সেসযোগ্য পারফরম্যান্স কাউন্টার সংগ্রহ বাস্তবায়ন করুন

রিমোট সার্ভার মনিটরিং

কাউন্টার যোগ করার সময় সার্ভারের নাম উল্লেখ করে দূরবর্তী সার্ভার থেকে ডেটা সংগ্রহ করার জন্য পারফরম্যান্স মনিটর কনফিগার করুন। ফায়ারওয়াল নিয়মগুলি পারফরম্যান্স মনিটর ট্র্যাফিকের অনুমতি দেয় তা নিশ্চিত করুন।

ক্রস-সার্ভার রিপোর্টিং

একাধিক সার্ভারের পারফরম্যান্সের তুলনা করে এমন প্রতিবেদন তৈরি করুন যাতে বহির্মুখী এবং ক্ষমতার ভারসাম্যহীনতা সনাক্ত করা যায়।

12। পর্যবেক্ষণ SQL Server ক্লাউড পরিবেশে

১২.১ Azure SQL ডাটাবেস মনিটরিং

Azure SQL ডাটাবেস অন্তর্নির্মিত পর্যবেক্ষণ ক্ষমতা প্রদান করে যা অন-প্রেমিসেস থেকে আলাদা SQL Server.

অ্যাজুর মনিটর ইন্টিগ্রেশন

Azure মনিটর স্বয়ংক্রিয়ভাবে Azure SQL ডাটাবেস থেকে মেট্রিক্স সংগ্রহ করে যার মধ্যে রয়েছে:

  • DTU অথবা vCore ব্যবহার
  • সংগ্রহস্থল ব্যবহার
  • সংযোগ পরিসংখ্যান
  • অচলাবস্থা এবং সময়সীমা

Azure Portal অথবা Azure Monitor API এর মাধ্যমে এই মেট্রিক্সগুলি অ্যাক্সেস করুন।

অন্তর্নির্মিত পর্যবেক্ষণ বৈশিষ্ট্য

Azure SQL ডাটাবেসে অন্তর্ভুক্ত রয়েছে:

  • স্বয়ংক্রিয় টিউনিং সুপারিশ
  • কোয়েরি পারফরম্যান্স ইনসাইট
  • অসঙ্গতি সনাক্তকরণের জন্য বুদ্ধিমান অন্তর্দৃষ্টি
  • অন্তর্নির্মিত সতর্কীকরণ এবং রোগনির্ণয়

কোয়েরি পারফরম্যান্স ইনসাইট

এই বৈশিষ্ট্যটি শীর্ষ রিসোর্স-গ্রাহক কোয়েরি, কোয়েরি সময়কাল বিশ্লেষণ এবং ঐতিহাসিক কর্মক্ষমতা প্রবণতার ভিজ্যুয়ালাইজেশন প্রদান করে। আপনার SQL ডাটাবেস রিসোর্সের অধীনে Azure পোর্টালের মাধ্যমে এটি অ্যাক্সেস করুন।

১২.২ ক্লাউড-নেটিভ মনিটরিং টুলস

ক্লাউড প্ল্যাটফর্মগুলি তাদের পরিবেশের জন্য অপ্টিমাইজ করা নেটিভ মনিটরিং সমাধানগুলি অফার করে:

  • Azure SQL ডাটাবেসের জন্য Azure মনিটর এবং অ্যাপ্লিকেশন অন্তর্দৃষ্টি
  • RDS এর জন্য AWS CloudWatch SQL Server
  • ক্লাউডের জন্য গুগল ক্লাউড মনিটরিং SQL Server

এই সরঞ্জামগুলি ক্লাউড অবকাঠামোর সাথে নির্বিঘ্নে একীভূত হয় এবং সমস্ত ক্লাউড রিসোর্স জুড়ে একীভূত পর্যবেক্ষণ প্রদান করে।

হাইব্রিড পরিবেশ পর্যবেক্ষণ

অন-প্রিমিসেস এবং ক্লাউডে বিস্তৃত হাইব্রিড স্থাপনার জন্য, এমন সরঞ্জাম ব্যবহার করুন যা রেডগেট এসকিউএল মনিটর, সোলারউইন্ডস ডিপিএ, অথবা কেন্দ্রীভূত ডেটা সংগ্রহ ব্যবহার করে কাস্টম সমাধান উভয় পরিবেশকেই সমর্থন করে।

১২.৩ ক্লাউডে কর্মক্ষমতার পার্থক্য

মেঘ SQL Server পরিবেশের অনন্য বৈশিষ্ট্য রয়েছে:

সম্পদ বরাদ্দ মডেল

ক্লাউড সরবরাহকারীরা বিভিন্ন রিসোর্স অ্যালোকেশন পদ্ধতি (DTUs, vCores, serverless) ব্যবহার করে যা আপনার কর্মক্ষমতা মেট্রিক্স ব্যাখ্যা করার পদ্ধতিকে প্রভাবিত করে। আপনার পরিষেবা স্তরের সীমাবদ্ধতা এবং বৈশিষ্ট্যগুলি বুঝুন।

স্কেলিং বিবেচনা

ক্লাউড পরিবেশগুলি গতিশীল স্কেলিং ক্ষমতা প্রদান করে। কখন স্কেল বাড়ানো বা কমানো হবে তা নির্ধারণ করতে রিসোর্স ব্যবহার পর্যবেক্ষণ করুন। অনেক ক্লাউড প্ল্যাটফর্ম কর্মক্ষমতা থ্রেশহোল্ডের উপর ভিত্তি করে স্বয়ংক্রিয় স্কেলিং প্রদান করে।

১৩. স্বয়ংক্রিয় কর্মক্ষমতা পর্যবেক্ষণ

13.1 SQL Server এজেন্ট জবস

ব্যবহার করে স্বয়ংক্রিয় তথ্য সংগ্রহ করুন SQL Server ম্যানুয়াল হস্তক্ষেপ ছাড়াই ধারাবাহিক পর্যবেক্ষণের জন্য এজেন্টের কাজ।

নির্ধারিত তথ্য সংগ্রহ

  1. SSMS-এ, প্রসারিত করুন SQL Server প্রতিনিধি
  2. সঠিক পছন্দ জবস এবং নির্বাচন করুন নতুন চাকরি
  3. কাজের নাম দিন (যেমন, "পারফরম্যান্স মেট্রিক্স সংগ্রহ করুন")
  4. ক্লিক ধাপ এবং একটি নতুন ধাপ যোগ করুন
  5. টাইপ সেট করুন ট্রানজ্যাক্ট-এসকিউএল স্ক্রিপ্ট
  6. আপনার তথ্য সংগ্রহের স্ক্রিপ্ট লিখুন
  7. ক্লিক সূচী এবং একটি সময়সূচী যোগ করুন
  8. ফ্রিকোয়েন্সি কনফিগার করুন (যেমন, প্রতি ৫ মিনিটে)
  9. ক্লিক OK চাকরি তৈরি করতে

স্বয়ংক্রিয় প্রতিবেদন Report

এমন কাজ তৈরি করুন যা কর্মক্ষমতা প্রতিবেদন তৈরি করে এবং ইমেল করে:

  1. একটি সঞ্চিত পদ্ধতি তৈরি করুন যা প্রতিবেদন তৈরি করে
  2. ইমেলের মাধ্যমে প্রতিবেদন পাঠাতে ডাটাবেস মেল ব্যবহার করুন
  3. কাজটি দৈনিক বা সাপ্তাহিকভাবে পরিচালনা করার জন্য সময়সূচী করুন

১৩.২ পাওয়ারশেল অটোমেশন

পাওয়ারশেল এর জন্য শক্তিশালী অটোমেশন ক্ষমতা প্রদান করে SQL Server কর্মক্ষমতা মনিটর।

পারফর্মেন্স কাউন্টার কালেকশন স্ক্রিপ্ট

$counters = @(
    '\Processor(_Total)\% Processor Time',
    '\Memory\Available MBytes',
    '\PhysicalDisk(_Total)\Avg. Disk sec/Read'
)

$data = Get-Counter -Counter $counters -ComputerName 'SQLServer01'
$data.CounterSamples | Export-Csv 'C:\PerfLogs\counters.csv' -Append

WMI কোয়েরি

দূরবর্তী সার্ভার থেকে কর্মক্ষমতা তথ্য সংগ্রহ করতে WMI ব্যবহার করুন:

$cpu = Get-WmiObject Win32_Processor -ComputerName 'SQLServer01'
$memory = Get-WmiObject Win32_OperatingSystem -ComputerName 'SQLServer01'

Write-Host "CPU Usage: $($cpu.LoadPercentage)%"
Write-Host "Available Memory: $([math]::Round($memory.FreePhysicalMemory/1MB,2)) GB"

স্বয়ংক্রিয় সতর্কতা

পাওয়ারশেল স্ক্রিপ্ট তৈরি করুন যা মেট্রিক্স পরীক্ষা করে এবং থ্রেশহোল্ড লঙ্ঘন করলে সতর্কতা পাঠায়:

$cpuThreshold = 80
$cpu = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue

if ($cpu -gt $cpuThreshold) {
    Send-MailMessage -To 'dba@company.com' -Subject 'High CPU Alert' `
        -Body "CPU usage is $cpu%" -SmtpServer 'smtp.company.com'
}

১৩.৩ মনিটরিং ড্যাশবোর্ড তৈরি করা

আরও ভালো অন্তর্দৃষ্টির জন্য ইন্টারেক্টিভ ড্যাশবোর্ডের সাহায্যে কর্মক্ষমতা ডেটা কল্পনা করুন।

পাওয়ার বিআই ইন্টিগ্রেশন

  1. আপনার পারফরম্যান্স ডেটা টেবিলের সাথে Power BI সংযোগ করুন
  2. মূল মেট্রিক্সের জন্য ভিজ্যুয়ালাইজেশন তৈরি করুন
  3. সময়সীমা এবং সার্ভার নির্বাচনের জন্য স্লাইসার যোগ করুন
  4. পাওয়ার বিআই সার্ভিসে ড্যাশবোর্ড প্রকাশ করুন
  5. স্বয়ংক্রিয় রিফ্রেশ সময়সূচী কনফিগার করুন

রিয়েল-টাইম ড্যাশবোর্ড তৈরি

গ্রাফানা বা কাস্টম ওয়েব অ্যাপ্লিকেশনের মতো টুল ব্যবহার করে রিয়েল-টাইম ড্যাশবোর্ড তৈরি করুন যা সরাসরি DMV এবং পারফরম্যান্স কাউন্টার অনুসন্ধান করে।

ঐতিহাসিক ট্রেন্ড ভিজ্যুয়ালাইজেশন

সময়ের সাথে সাথে ট্রেন্ড দেখানো লাইন চার্ট তৈরি করুন:

  • CPU ব্যবহার
  • মেমরি ব্যবহার
  • ডিস্ক I/O
  • কর্মক্ষমতা ক্যোয়ারী
  • সংযোগের সংখ্যা

14. কেস স্টাডিজ এবং ব্যবহারিক উদাহরণ

১৪.১ কেস স্টাডি: স্মৃতি চাপ সমাধান করা

লক্ষণ সনাক্তকরণ

একটি উৎপাদন SQL Server পিক আওয়ারে কোয়েরির প্রতিক্রিয়ার সময় ধীর ছিল। ব্যবহারকারীরা অ্যাপ্লিকেশন টাইমআউট এবং কর্মক্ষমতা হ্রাসের অভিযোগ করেছিলেন।

পাল্টা বিশ্লেষণ

পারফরম্যান্স মনিটরের তথ্য প্রকাশিত হয়েছে:

  • পৃষ্ঠার আয়ুষ্কাল ৫০ সেকেন্ডে নেমে এসেছে (স্বাভাবিক: >৩০০)
  • বাফার ক্যাশে হিট রেশিও ৮৫% এ নেমে এসেছে (স্বাভাবিক: >৯৯%)
  • মেমোরি গ্রান্টের মুলতুবি থাকা অবস্থায় প্রায়ই ৫-১০ এর মান দেখা গেছে
  • ফিজিক্যাল ডিস্ক রিড/সেকেন্ড উল্লেখযোগ্যভাবে বৃদ্ধি পেয়েছে

সমাধান পদক্ষেপ

  1. সংযত SQL Server সর্বোচ্চ মেমরি সেটিং - আবিষ্কার হয়েছে যে এটি ডিফল্টে সেট করা আছে (সীমাহীন)
  2. মোট সার্ভার মেমরি বনাম লক্ষ্যমাত্রা সার্ভার মেমরি পর্যালোচনা করে একটি উল্লেখযোগ্য পার্থক্য দেখা গেছে।
  3. অপারেটিং সিস্টেমের জন্য সর্বোচ্চ 8 জিবি সার্ভার মেমোরি কনফিগার করা হয়েছে
  4. "মেমরিতে পৃষ্ঠাগুলি লক করুন" অনুমতি সক্রিয় করা হয়েছে SQL Server পরিষেবা অ্যাকাউন্ট
  5. সার্ভারে ৩২ জিবি অতিরিক্ত র‍্যাম যোগ করা হয়েছে
  6. এক সপ্তাহের জন্য পর্যবেক্ষণকৃত কর্মক্ষমতা - পৃষ্ঠার আয়ুষ্কাল ৫০০ সেকেন্ডের উপরে স্থিতিশীল হয়েছে

ফলাফল: প্রশ্নের উত্তরের সময় ৬০% উন্নত হয়েছে, ব্যবহারকারীর অভিযোগ বন্ধ হয়েছে এবং অ্যাপ্লিকেশনের কর্মক্ষমতা স্বাভাবিক অবস্থায় ফিরে এসেছে।

১৪.২ কেস স্টাডি: সিপিইউ পারফরম্যান্স অপ্টিমাইজেশন

লক্ষণ সনাক্তকরণ

A SQL Server ব্যবসায়িক সময়ের মধ্যে ধারাবাহিকভাবে 90% এর উপরে CPU ব্যবহার দেখানো হয়েছে, যার ফলে অ্যাপ্লিকেশনের কর্মক্ষমতা ধীর এবং ব্যবহারকারীদের হতাশার সৃষ্টি হয়েছে।

পাল্টা বিশ্লেষণ

কর্মক্ষমতা পর্যবেক্ষণ প্রকাশিত হয়েছে:

  • % প্রসেসরের সময় গড়ে ৯২%, ঘন ঘন বৃদ্ধি ১০০% পর্যন্ত।
  • প্রসেসরের সারির দৈর্ঘ্য ধারাবাহিকভাবে ৪ এর উপরে (সার্ভারে ৮টি কোর ছিল)
  • SQL সংকলন/সেকেন্ড ছিল ব্যাচ অনুরোধ/সেকেন্ডের 25% (হওয়া উচিত <10%)
  • SQL পুনঃসংকলন/সেকেন্ড ছিল ব্যাচ অনুরোধ/সেকেন্ডের ১৫%

সমাধান পদক্ষেপ

  1. শীর্ষ CPU-গ্রাহক প্রশ্নগুলি সনাক্ত করতে DMV ব্যবহার করা হয়েছে
  2. চিহ্নিত প্রশ্নের জন্য বিশ্লেষণকৃত বাস্তবায়ন পরিকল্পনা
  3. অনুপস্থিত সূচকের কারণে বড় টেবিলগুলিতে একাধিক টেবিল স্ক্যান আবিষ্কার করা হয়েছে
  4. বাস্তবায়ন পরিকল্পনার সুপারিশের উপর ভিত্তি করে উপযুক্ত সূচক তৈরি করা হয়েছে
  5. অত্যধিক সংকলনের কারণ হিসেবে চিহ্নিত গতিশীল SQL
  6. প্যারামিটারাইজড কোয়েরি ব্যবহার করার জন্য অ্যাপ্লিকেশন কোড পরিবর্তন করা হয়েছে
  7. সমস্যাযুক্ত সঞ্চিত পদ্ধতির জন্য বাস্তবায়িত পরিকল্পনা নির্দেশিকা
  8. ব্যাপকভাবে ব্যবহৃত টেবিলের আপডেট করা পরিসংখ্যান

ফলাফল: ব্যবসায়িক সময়ের মধ্যে CPU ব্যবহার গড়ে ৪৫% এ নেমে এসেছে। কোয়েরি এক্সিকিউশনের সময় ৭০% বৃদ্ধি পেয়েছে। অ্যাপ্লিকেশনের প্রতিক্রিয়াশীলতা উল্লেখযোগ্যভাবে উন্নত হয়েছে।

১৪.৩ কেস স্টাডি: ডিস্ক I/O বটলনেক রেজোলিউশন

লক্ষণ সনাক্তকরণ

ব্যবহারকারীরা ডেটা লোডিং অপারেশন এবং সন্ধ্যায় ব্যাচ প্রক্রিয়াকরণের সময় অত্যন্ত ধীর অ্যাপ্লিকেশন প্রতিক্রিয়ার কথা জানিয়েছেন।

পাল্টা বিশ্লেষণ

পারফরম্যান্স ডেটা দেখিয়েছে:

  • লেনদেন লগ ড্রাইভে গড় ডিস্ক সেকেন্ড/লেখা ৪৫ মিলিসেকেন্ড ছাড়িয়ে গেছে
  • ডেটা ফাইল ড্রাইভে ডিস্ক সারির দৈর্ঘ্য গড়ে ১২।
  • ব্যাচ জবের সময় ঘন্টার পর ঘন্টা ডিস্ক টাইম ৯৫% এর উপরে ছিল
  • পৃষ্ঠা লেখা/সেকেন্ড ব্যতিক্রমীভাবে বেশি ছিল

সমাধান পদক্ষেপ

  1. যাচাইকৃত মেমরি সেটিংস যথাযথ ছিল - কোনও মেমরি সমস্যা পাওয়া যায়নি
  2. ডিস্ক কনফিগারেশন বিশ্লেষণ করা হয়েছে - একই স্পিন্ডেল সেটে সমস্ত ফাইল আবিষ্কার করা হয়েছে
  3. ডেডিকেটেড ফাস্ট SSD ড্রাইভে আলাদা লেনদেন লগ
  4. tempdb কে আলাদা SSD ড্রাইভে সরানো হয়েছে
  5. একাধিক tempdb ডেটা ফাইল বাস্তবায়িত হয়েছে (প্রতি কোরে একটি)
  6. RAID 10 SSD কনফিগারেশনে ডেটা ফাইল ড্রাইভ আপগ্রেড করা হয়েছে
  7. ছোট লেনদেন ব্যাচ ব্যবহার করার জন্য অপ্টিমাইজ করা ব্যাচ জব
  8. ব্যাচ অপারেশনের সময় অপ্রয়োজনীয় টেবিল স্ক্যান কমাতে সূচক যোগ করা হয়েছে।

ফলাফল: গড় ডিস্ক সেকেন্ড/লেখা ৩ মিলিসেকেন্ডে নেমে এসেছে। ডিস্ক সারির দৈর্ঘ্য গড়ে ১ এর নিচে। ব্যাচের কাজ শেষ করার সময় ৭৫% কমেছে।

15. ভবিষ্যতের প্রবণতা SQL Server পর্যবেক্ষণ

১৫.১ এআই এবং মেশিন লার্নিং ইন্টিগ্রেশন

কৃত্রিম বুদ্ধিমত্তা এবং মেশিন লার্নিং রূপান্তরিত হচ্ছে SQL Server কর্মক্ষমতা মনিটর।

আনুমানিক বিশ্লেষণ

মেশিন লার্নিং মডেলগুলি ঐতিহাসিক তথ্যের উপর ভিত্তি করে ভবিষ্যতের সম্পদের চাহিদার পূর্বাভাস দেয়। এই সিস্টেমগুলি পূর্বাভাস দিতে পারে:

  • যখন স্টোরেজ ক্ষমতা শেষ হয়ে যাবে
  • সর্বোচ্চ সময়কালে প্রত্যাশিত CPU এবং মেমরির প্রয়োজনীয়তা
  • ব্যবহারকারীদের উপর প্রভাব ফেলার আগে কর্মক্ষমতা হ্রাসের বিষয়ে জিজ্ঞাসা করুন
  • রক্ষণাবেক্ষণ কার্যক্রমের জন্য সর্বোত্তম সময়

অ্যানোমালি ডিটেকশন

এআই-চালিত সরঞ্জামগুলি স্বয়ংক্রিয়ভাবে কর্মক্ষমতা মেট্রিক্সে অস্বাভাবিক প্যাটার্ন সনাক্ত করে। তারা এমন অসঙ্গতিগুলি সনাক্ত করে যা মানব প্রশাসকরা মিস করতে পারেন এবং স্বাভাবিক পরিবর্তন এবং প্রকৃত সমস্যাগুলির মধ্যে পার্থক্য করে।

স্বয়ংক্রিয় প্রতিকার

স্ব-নিরাময় ব্যবস্থাগুলি সনাক্ত হলে সাধারণ সমস্যাগুলি স্বয়ংক্রিয়ভাবে সমাধান করে:

  • বন্ধ হয়ে যাওয়া পরিষেবাগুলি পুনরায় চালু করুন।
  • সর্বোচ্চ লোডের সময় সম্পদ পুনঃবণ্টন করুন
  • জ্ঞাত সমস্যার জন্য হটফিক্স প্রয়োগ করুন
  • খণ্ডিত সূচীগুলি স্বয়ংক্রিয়ভাবে পুনর্নির্মাণ করুন

১৫.২ ক্লাউড-ভিত্তিক পর্যবেক্ষণ বিবর্তন

ক্লাউড মনিটরিং নতুন নতুন ক্ষমতার সাথে বিকশিত হচ্ছে।

ইউনিফাইড মনিটরিং প্ল্যাটফর্ম

আধুনিক প্ল্যাটফর্মগুলি কাচের একক ফলক দৃশ্যমানতা প্রদান করে:

  • অন-প্রাঙ্গনে SQL Server দৃষ্টান্ত
  • ক্লাউড-হোস্টেড ডেটাবেস
  • হাইব্রিড পরিবেশ
  • অ্যাপ্লিকেশন কর্মক্ষমতা
  • অবকাঠামোগত মেট্রিক্স

পর্যবেক্ষণযোগ্যতার প্রবণতা

পর্যবেক্ষণ থেকে পর্যবেক্ষণযোগ্যতার দিকে পরিবর্তনের উপর জোর দেওয়া হয়:

  • আউটপুট থেকে সিস্টেমের আচরণ বোঝা
  • মেট্রিক্স, লগ এবং ট্রেসগুলির মধ্যে সম্পর্ক স্থাপন করা
  • বিতরণ ব্যবস্থা সম্পর্কে গভীর অন্তর্দৃষ্টি
  • রিয়েল-টাইম সমস্যা নির্ণয়

১৫.৩ স্ব-নিরাময় ডাটাবেস সিস্টেম

ভবিষ্যৎ SQL Server সংস্করণগুলিতে আরও স্বায়ত্তশাসিত ক্ষমতা অন্তর্ভুক্ত থাকবে।

স্বয়ংক্রিয় অপ্টিমাইজেশান

ডাটাবেসগুলি ক্রমাগত নিজেদেরকে অপ্টিমাইজ করবে:

  • কাজের চাপের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে সূচক তৈরি এবং বাদ দেওয়া
  • সর্বোত্তম কর্মক্ষমতার জন্য কনফিগারেশন সেটিংস সামঞ্জস্য করা
  • অদক্ষ প্রশ্নগুলি স্বচ্ছভাবে পুনর্লিখন করা
  • গতিশীলভাবে সম্পদ বরাদ্দ পরিচালনা করা

ইন্টেলিজেন্ট টিউনিং

উন্নত সিস্টেমগুলি কর্মক্ষমতা নিদর্শন থেকে শিখবে এবং স্বয়ংক্রিয়ভাবে টিউনিং সুপারিশ প্রয়োগ করবে, ম্যানুয়াল DBA হস্তক্ষেপের প্রয়োজনীয়তা হ্রাস করবে।

16. উপসংহার এবং মূল উপায়

১৬.১ অপরিহার্য পর্যবেক্ষণ অনুশীলনের সারাংশ

কার্যকর SQL Server কর্মক্ষমতা মনিটরের জন্য সরঞ্জাম, কৌশল এবং সর্বোত্তম অনুশীলনের সমন্বয়ে একটি ব্যাপক পদ্ধতির প্রয়োজন।

সমালোচনামূলক কাউন্টারগুলির সংক্ষিপ্তসার

এই গুরুত্বপূর্ণ কাউন্টারগুলিতে পর্যবেক্ষণ প্রচেষ্টার উপর জোর দিন:

  • মেমোরি: পৃষ্ঠার আয়ুষ্কাল, বাফার ক্যাশে হিট অনুপাত, মেমোরি গ্রান্ট মুলতুবি
  • সিপিইউ: % প্রসেসর সময়, প্রসেসরের সারির দৈর্ঘ্য
  • ডিস্ক: গড় ডিস্ক সেকেন্ড/পড়ুন এবং লিখুন, ডিস্ক সারির দৈর্ঘ্য
  • SQL Server: ব্যাচ অনুরোধ/সেকেন্ড, সংকলন/সেকেন্ড, ব্যবহারকারী সংযোগ

সেরা অনুশীলনের সারাংশ

  • স্বাভাবিক ক্রিয়াকলাপের সময় বেসলাইন স্থাপন করুন
  • বেসলাইনের উপর ভিত্তি করে বুদ্ধিমান সতর্কতা থ্রেশহোল্ড সেট করুন
  • নিয়মিতভাবে কর্মক্ষমতা তথ্য পর্যালোচনা করুন
  • ডেটা গ্র্যানুলারিটি সহ ব্যালেন্স মনিটরিং ওভারহেড
  • ট্রেন্ড বিশ্লেষণের জন্য দীর্ঘমেয়াদী তথ্য সংরক্ষণ করুন
  • প্রতিটি পর্যবেক্ষণ দৃশ্যকল্পের জন্য উপযুক্ত সরঞ্জাম ব্যবহার করুন

১৬.২ ধারাবাহিক উন্নতি পদ্ধতি

SQL Server পারফরম্যান্স মনিটর কোনও এককালীন কার্যকলাপ নয় বরং এটি একটি চলমান প্রক্রিয়া যার জন্য ক্রমাগত পরিমার্জন প্রয়োজন।

নিয়মিত পর্যালোচনা চক্র

  • দৈনিক: সতর্কতা এবং বর্তমান কর্মক্ষমতা পরীক্ষা করুন
  • সাপ্তাহিক: প্রবণতা পর্যালোচনা করুন এবং উদীয়মান সমস্যাগুলি চিহ্নিত করুন
  • মাসিক: দীর্ঘমেয়াদী ধরণ এবং সক্ষমতার চাহিদা বিশ্লেষণ করুন
  • ত্রৈমাসিক: বেসলাইন আপডেট করুন এবং পর্যবেক্ষণ কার্যকারিতা পর্যালোচনা করুন

সরঞ্জামের সাহায্যে বর্তমান থাকা

পর্যবেক্ষণের সরঞ্জাম এবং কৌশলগুলি হালনাগাদ রাখুন:

  • নতুন পর্যবেক্ষণ বৈশিষ্ট্যগুলি মূল্যায়ন করুন SQL Server আপডেট
  • উদীয়মান তৃতীয় পক্ষের সরঞ্জামগুলি পরীক্ষা করুন
  • প্রশিক্ষণ এবং সম্মেলনে যোগদান করুন
  • অংশগ্রহণ SQL Server কমিউনিটি ফোরাম
  • দলের সদস্যদের সাথে জ্ঞান ভাগাভাগি করুন

16.3 পরবর্তী পদক্ষেপ

বাস্তবায়ন SQL Server পদ্ধতিগতভাবে কর্মক্ষমতা পর্যবেক্ষণ:

বাস্তবায়ন রোডম্যাপ

  1. সপ্তাহ 1: প্রয়োজনীয় কাউন্টার সহ পারফরম্যান্স মনিটর সেট আপ করুন
  2. সপ্তাহ 2: স্বয়ংক্রিয় সংগ্রহের জন্য ডেটা কালেক্টর সেট তৈরি করুন
  3. সপ্তাহ 3: স্বাভাবিক ক্রিয়াকলাপের সময় বেসলাইন স্থাপন করুন
  4. সপ্তাহ 4: গুরুত্বপূর্ণ থ্রেশহোল্ডের জন্য সতর্কতা কনফিগার করুন
  5. মাস এক্সএনএমএক্স: অতিরিক্ত পর্যবেক্ষণ সরঞ্জাম (DMV, বর্ধিত ইভেন্ট) বাস্তবায়ন করুন।
  6. মাস এক্সএনএমএক্স: কাস্টম ড্যাশবোর্ড এবং প্রতিবেদন তৈরি করুন
  7. চলমান: অভিজ্ঞতা এবং পরিবর্তনশীল প্রয়োজনীয়তার উপর ভিত্তি করে পর্যবেক্ষণ পরিমার্জন করুন

অতিরিক্ত সম্পদ

সম্পর্কে শেখা চালিয়ে যান SQL Server মাইক্রোসফট ডকুমেন্টেশন, কমিউনিটি ব্লগ এবং হাতে-কলমে অনুশীলনের মাধ্যমে পারফরম্যান্স মনিটর। আপনার পরিবেশের জন্য কোনটি সবচেয়ে ভালো কাজ করে তা খুঁজে বের করার জন্য বিভিন্ন সরঞ্জাম এবং কৌশল নিয়ে পরীক্ষা-নিরীক্ষা করুন।

17. প্রায়শই জিজ্ঞাসিত প্রশ্ন (FAQ)

১৭.১ সবচেয়ে গুরুত্বপূর্ণগুলো কী কী? SQL Server কর্মক্ষমতা কাউন্টার নিরীক্ষণ করতে?

সবচেয়ে গুরুত্বপূর্ণ SQL Server পারফর্ম্যান্স কাউন্টারগুলির মধ্যে রয়েছে:

  • মেমোরি: পৃষ্ঠার আয়ুষ্কাল (>৩০০ সেকেন্ড হওয়া উচিত) এবং বাফার ক্যাশে হিট অনুপাত (>৯৯% হওয়া উচিত)
  • সিপিইউ: % প্রসেসর সময় (স্থায়ী মান <75%) এবং প্রসেসরের সারির দৈর্ঘ্য (প্রতি কোরে <2 হওয়া উচিত)
  • ডিস্ক: গড় ডিস্ক সেকেন্ড/পড়া এবং লেখা (<10-20ms হওয়া উচিত) এবং ডিস্ক সারির দৈর্ঘ্য (প্রতি ডিস্কে <2 হওয়া উচিত)
  • SQL Server: ব্যাচ অনুরোধ/সেকেন্ড, SQL সংকলন/সেকেন্ড, এবং মেমোরি গ্রান্ট মুলতুবি (0 হওয়া উচিত)

এই কাউন্টারগুলি সিস্টেমের স্বাস্থ্য সম্পর্কে ব্যাপক অন্তর্দৃষ্টি প্রদান করে এবং দ্রুত বাধাগুলি সনাক্ত করতে সহায়তা করে।

১৭.২ আমার কত ঘন ঘন কর্মক্ষমতা তথ্য সংগ্রহ করা উচিত?

সংগ্রহের ফ্রিকোয়েন্সি আপনার পর্যবেক্ষণের উদ্দেশ্যের উপর নির্ভর করে:

  • বেসলাইন পর্যবেক্ষণ: প্রতি ১ মিনিটে (৬০ সেকেন্ড)
  • সক্রিয় সমস্যা সমাধান: স্বল্প সময়ের জন্য প্রতি ১৫-৩০ সেকেন্ড অন্তর
  • দীর্ঘমেয়াদী ট্রেন্ডিং: প্রতি ৫ মিনিটে

উচ্চ-ফ্রিকোয়েন্সি সংগ্রহ ক্রমাগত চালানো এড়িয়ে চলুন কারণ এটি কর্মক্ষমতা প্রভাবিত করতে পারে এবং অতিরিক্ত ডেটা তৈরি করতে পারে। নিয়মিত পর্যবেক্ষণের জন্য দীর্ঘ বিরতি এবং নির্দিষ্ট সমস্যাগুলি তদন্ত করার সময় কেবল ছোট বিরতি ব্যবহার করুন।

১৭.৩ পারফরম্যান্স মনিটর এবং এর মধ্যে পার্থক্য কী? SQL Server প্রোফাইলার?

পারফরম্যান্স মনিটর এবং SQL Server প্রোফাইলার বিভিন্ন উদ্দেশ্যে কাজ করে:

কর্মক্ষমতা মনিটর:

  • সিস্টেম মনিটর করে এবং SQL Server পারফর্মেন্স কাউন্টার
  • রিসোর্স ব্যবহার ট্র্যাক করে (CPU, মেমরি, ডিস্ক)
  • কম ওভারহেড, ক্রমাগত পর্যবেক্ষণের জন্য উপযুক্ত
  • সময়ের সাথে সাথে সামগ্রিক মেট্রিক্স প্রদান করে

SQL Server প্রোফাইলার:

  • পৃথকভাবে ট্রেস করে SQL Server ঘটনা এবং প্রশ্ন
  • বিস্তারিত ক্যোয়ারী এক্সিকিউশন তথ্য ক্যাপচার করে
  • বেশি ওভারহেড, ক্রমাগত ব্যবহারের জন্য সুপারিশ করা হয় না
  • নির্দিষ্ট প্রশ্নের সমস্যা সমাধানের জন্য সেরা
  • বর্ধিত ইভেন্টের পক্ষে বন্ধ করা হয়েছে

সামগ্রিক সিস্টেম পর্যবেক্ষণের জন্য পারফরম্যান্স মনিটর এবং বিস্তারিত ক্যোয়ারী-স্তরের বিশ্লেষণের জন্য এক্সটেন্ডেড ইভেন্ট (প্রোফাইলার নয়) ব্যবহার করুন।

১৭.৪ ক্যান পারফরম্যান্স মনিটর প্রভাব SQL Server কর্মক্ষমতা?

সঠিকভাবে কনফিগার করা হলে, পারফরম্যান্স মনিটরের উপর ন্যূনতম প্রভাব পড়ে SQL Server কর্মক্ষমতা, সাধারণত ২% এর কম ওভারহেড। তবে, অতিরিক্ত পর্যবেক্ষণ সমস্যা সৃষ্টি করতে পারে:

  • অনেক বেশি কাউন্টার ওভারহেড বাড়ায়
  • খুব ছোট নমুনা ব্যবধান (১৫ সেকেন্ডের কম) স্ট্রেন রিসোর্স
  • ক্রমাগত উচ্চ-ফ্রিকোয়েন্সি সংগ্রহ বড় লগ ফাইল তৈরি করে

প্রভাব কমাতে:

  • শুধুমাত্র প্রয়োজনীয় কাউন্টারগুলি পর্যবেক্ষণ করুন
  • উপযুক্ত নমুনা বিরতি ব্যবহার করুন (নিয়মিত পর্যবেক্ষণের জন্য 60 সেকেন্ড)
  • ডাটাবেস ফাইল থেকে আলাদা ড্রাইভে লগ সংরক্ষণ করুন
  • অফ-পিক আওয়ারে সম্পদ-নিবিড় পর্যবেক্ষণের সময়সূচী নির্ধারণ করুন

১৭.৫ কর্মক্ষমতা পর্যবেক্ষণের তথ্য আমার কতক্ষণ ধরে রাখা উচিত?

ধরে রাখা আপনার বিশ্লেষণের চাহিদা এবং সঞ্চয় ক্ষমতার উপর নির্ভর করে:

  • নূন্যতম: সাম্প্রতিক সমস্যা সমাধানের জন্য ৩ মাস
  • প্রস্তাবিত: সক্ষমতা পরিকল্পনা এবং প্রবণতা বিশ্লেষণের জন্য ১-২ বছর
  • অনুকূল: যদি সংরক্ষণের অনুমতি থাকে, তাহলে অনির্দিষ্টকালের জন্য, কারণ ঐতিহাসিক তথ্য সময়ের সাথে সাথে আরও মূল্যবান হয়ে ওঠে

পারফরম্যান্স কাউন্টার ডেটা ভালোভাবে সংকুচিত হয় এবং তুলনামূলকভাবে কম জায়গা নেয়। পুরনো ডেটা মুছে ফেলার পরিবর্তে আলাদা স্টোরেজে সংরক্ষণ করার কথা বিবেচনা করুন। অনেক প্রতিষ্ঠান মনে করে যে বছরের পর বছর ধরে ঐতিহাসিক তথ্য ধারণক্ষমতা পরিকল্পনা এবং দীর্ঘমেয়াদী প্রবণতা সনাক্তকরণের জন্য অমূল্য প্রমাণিত হয়।

১৭.৬ কী পারফরম্যান্স কাউন্টারের জন্য ভালো থ্রেশহোল্ড মান কী কী?

সতর্কতার জন্য প্রস্তাবিত থ্রেশহোল্ড মান:

  • মেমোরি গ্রান্ট মুলতুবি: ০ থেকে বেশি হলে সতর্কতা
  • পৃষ্ঠার আয়ুষ্কাল: 300 সেকেন্ডের কম হলে সতর্কতা
  • % প্রসেসর সময়: ৫ মিনিটের জন্য ৮০% এর বেশি হলে সতর্কতা
  • প্রসেসরের সারির দৈর্ঘ্য: প্রতি কোরে 2 এর বেশি হলে সতর্কতা
  • গড় ডিস্ক সেকেন্ড/পড়ুন বা লিখুন: ২০ মিলিসেকেন্ডের বেশি হলে সতর্কতা
  • ডিস্ক সারির দৈর্ঘ্য: প্রতি ডিস্কে 2 থেকে বেশি হলে সতর্ক করুন
  • ব্লক করা প্রক্রিয়া: ৫ নম্বর হলে সতর্কতা

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

১৭.৭ আমি কিভাবে পর্যবেক্ষণ করব? SQL Server দূরবর্তীভাবে কর্মক্ষমতা?

রিমোট মনিটর করুন SQL Server এই পদ্ধতিগুলি ব্যবহার করে উদাহরণ:

  1. কর্মক্ষমতা মনিটর: কাউন্টার যোগ করার সময় দূরবর্তী কম্পিউটারের নাম উল্লেখ করুন
  2. শক্তির উৎস: Get-Counter এর সাথে -ComputerName প্যারামিটার ব্যবহার করুন
  3. ডিএমভি: SSMS এর মাধ্যমে দূরবর্তী সার্ভারের সাথে সংযোগ করুন এবং DMV গুলি অনুসন্ধান করুন
  4. তৃতীয় পক্ষের সরঞ্জাম: বেশিরভাগ মনিটরিং টুল রিমোট সার্ভার মনিটরিং সমর্থন করে।

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

১৭.৮ এর জন্য সেরা বিনামূল্যের টুল কোনটি? SQL Server পারফরম্যান্স মনিটর?

পর্যবেক্ষণের জন্য বেশ কিছু চমৎকার বিনামূল্যের সরঞ্জাম পাওয়া যায় SQL Server কর্মক্ষমতা:

  • উইন্ডোজ পারফরম্যান্স মনিটর: অন্তর্নির্মিত, ব্যাপক এবং নির্ভরযোগ্য
  • SSMS কার্যকলাপ মনিটর: কোনও অতিরিক্ত ইনস্টলেশন ছাড়াই রিয়েল-টাইম পর্যবেক্ষণ
  • বর্ধিত ইভেন্ট: হালকা ইভেন্ট মনিটরিং অন্তর্নির্মিত SQL Server
  • sp_WhoIsActive: বিস্তারিত কার্যকলাপ পর্যবেক্ষণের জন্য জনপ্রিয় বিনামূল্যে সংরক্ষিত পদ্ধতি
  • ডিবিএ ড্যাশ: বিস্তৃত বৈশিষ্ট্য সহ ওপেন-সোর্স পর্যবেক্ষণ সরঞ্জাম
  • এসকিউএলওয়াচ: প্রায় রিয়েল-টাইম পর্যবেক্ষণ ক্ষমতা সহ ওপেন-সোর্স

বেশিরভাগ প্রতিষ্ঠানের জন্য, পারফরম্যান্স মনিটর, এসএসএমএস টুলস এবং sp_WhoIsActive-এর সমন্বয়ে কোনো অতিরিক্ত খরচ ছাড়াই চমৎকার পর্যবেক্ষণ ক্ষমতা প্রদান করে।

১৭.৯ বিশ্লেষণের জন্য আমি কীভাবে PerfMon ডেটা রপ্তানি করব?

এই পদ্ধতিগুলি ব্যবহার করে পারফরম্যান্স মনিটরের ডেটা রপ্তানি করুন:

CSV তে রপ্তানি করুন:

  1. আপনার লগ ফাইল লোড করে পারফরম্যান্স মনিটর খুলুন।
  2. গ্রাফটিতে ডান-ক্লিক করুন এবং নির্বাচন করুন ডেটা এইভাবে সংরক্ষণ করুন
  3. বেছে নিন টেক্সট ফাইল (কমা দ্বারা সীমাবদ্ধ) (.csv)
  4. অবস্থান নির্বাচন করুন এবং সংরক্ষণ করুন
  5. বিশ্লেষণের জন্য এক্সেলে খুলুন

রিলগ কমান্ড ব্যবহার করুন:

relog input.blg -f csv -o output.csv

স্প্রেডশিট অ্যাপ্লিকেশনগুলিতে সহজ বিশ্লেষণের জন্য এই কমান্ড-লাইন ইউটিলিটি বাইনারি লগ ফাইল (.blg) কে CSV ফর্ম্যাটে রূপান্তর করে।

১৭.১০ বিল্ট-ইন অপশনের পরিবর্তে কখন আমার তৃতীয় পক্ষের পর্যবেক্ষণ সরঞ্জাম ব্যবহার করা উচিত?

তৃতীয় পক্ষের সরঞ্জামগুলি বিবেচনা করুন যখন:

  • বিপুল সংখ্যক পরিচালনা করা SQL Server উদাহরণ (১০+)
  • একাধিক ডেটা সেন্টার জুড়ে কেন্দ্রীভূত পর্যবেক্ষণের প্রয়োজন
  • ভবিষ্যদ্বাণীমূলক বিশ্লেষণ বা অসঙ্গতি সনাক্তকরণের মতো উন্নত বৈশিষ্ট্যগুলির প্রয়োজন
  • ঘটনা ব্যবস্থাপনা ব্যবস্থার সাথে সমন্বিত সতর্কতা চাই
  • সম্মতি প্রতিবেদন এবং ঐতিহাসিক বিশ্লেষণ প্রয়োজন
  • কাস্টম সমাধান তৈরি এবং রক্ষণাবেক্ষণের জন্য DBA রিসোর্সের অভাব
  • ভিন্নধর্মী ডাটাবেস পরিবেশ পর্যবেক্ষণ (SQL Serverওরাকল, মাইএসকিউএল, ইত্যাদি)

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

18. অতিরিক্ত সম্পদ

১৮.১ অফিসিয়াল ডকুমেন্টেশন

মাইক্রোসফট এর জন্য বিস্তৃত ডকুমেন্টেশন প্রদান করে SQL Server কর্মক্ষমতা মনিটর:

১৮.২ প্রস্তাবিত সরঞ্জাম এবং ডাউনলোড

জন্য প্রয়োজনীয় সরঞ্জাম SQL Server কর্মক্ষমতা মনিটর:

  • PAL টুল: https://github.com/clinthuffman/PAL
  • sp_WhoIsActive: http://whoisactive.com/
  • ডিবিএ ড্যাশ: https://dbadash.com/
  • এসকিউএলওয়াচ: https://github.com/marcingminski/sqlwatch
  • প্রথম প্রতিক্রিয়াকারী কিট (ব্রেন্ট ওজার): https://www.brentozar.com/first-aid/
  • SQL Server ম্যানেজমেন্ট স্টুডিও: https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms

৯.১ সম্প্রদায় সম্পদ

থেকে শিখুন SQL Server সম্প্রদায়:

  • SQL Server সেন্ট্রাল: https://www.sqlservercentral.com/
  • ব্রেন্ট ওজার ব্লগ: https://www.brentozar.com/blog/
  • এসকিউএল শ্যাক: https://www.sqlshack.com/
  • MSSQL টিপস: https://www.mssqltips.com/
  • রেডডিট আর/এসকিউএল সার্ভার: https://www.reddit.com/r/SQLServer/
  • স্ট্যাক ওভারফ্লো SQL Server ট্যাগ: https://stackoverflow.com/questions/tagged/sql-server

এই রিসোর্সগুলি টিউটোরিয়াল, সমস্যা সমাধানের পরামর্শ এবং অভিজ্ঞদের কাছ থেকে সেরা অনুশীলন প্রদান করে SQL Server পেশাদার। কমিউনিটি ফোরামে অংশগ্রহণ আপনাকে অন্যদের অভিজ্ঞতা থেকে শিখতে এবং আপনার নিজস্ব জ্ঞান ভাগ করে নিতে সাহায্য করে।


লেখক সম্পর্কে

ইউয়ান সেং একজন সিনিয়র ডাটাবেস অ্যাডমিনিস্ট্রেটর (DBA) যার ১০ বছরেরও বেশি অভিজ্ঞতা রয়েছে SQL Server পরিবেশ এবং এন্টারপ্রাইজ ডাটাবেস ব্যবস্থাপনা। তিনি আর্থিক পরিষেবা, স্বাস্থ্যসেবা এবং উৎপাদন সংস্থা জুড়ে শত শত ডাটাবেস পুনরুদ্ধারের পরিস্থিতি সফলভাবে সমাধান করেছেন।

ইউয়ান বিশেষজ্ঞ SQL Server ডাটাবেস পুনরুদ্ধার, উচ্চ প্রাপ্যতা সমাধান, এবং কর্মক্ষমতা অপ্টিমাইজেশন। তার ব্যাপক বাস্তব অভিজ্ঞতার মধ্যে রয়েছে মাল্টি-টেরাবাইট ডাটাবেস পরিচালনা, বাস্তবায়ন সর্বদা উপলভ্যতা গ্রুপগুলিতে, এবং মিশন-সমালোচনামূলক ব্যবসায়িক সিস্টেমের জন্য স্বয়ংক্রিয় ব্যাকআপ এবং পুনরুদ্ধার কৌশল তৈরি করা।

তার প্রযুক্তিগত দক্ষতা এবং ব্যবহারিক পদ্ধতির মাধ্যমে, ইউয়ান এমন ব্যাপক নির্দেশিকা তৈরির উপর মনোনিবেশ করেন যা ডাটাবেস প্রশাসক এবং আইটি পেশাদারদের জটিল সমাধানে সহায়তা করে SQL Server দক্ষতার সাথে চ্যালেঞ্জ জানাতে। তিনি সর্বশেষ খবরের সাথে আপডেট থাকেন SQL Server রিলিজ এবং মাইক্রোসফটের ক্রমবর্ধমান ডাটাবেস প্রযুক্তি, নিয়মিতভাবে পুনরুদ্ধারের পরিস্থিতি পরীক্ষা করে নিশ্চিত করে যে তার সুপারিশগুলি বাস্তব-বিশ্বের সেরা অনুশীলনগুলি প্রতিফলিত করে।

সম্পর্কে প্রশ্ন আছে SQL Server পুনরুদ্ধারের প্রয়োজন নাকি অতিরিক্ত ডাটাবেস সমস্যা সমাধানের নির্দেশিকা প্রয়োজন? ইউয়ান স্বাগত জানায়? প্রতিক্রিয়া এবং পরামর্শ এই প্রযুক্তিগত সম্পদ উন্নত করার জন্য।

এখন শেয়ার: