আমি কীভাবে টাইমস্প্যানে সঞ্চিত পদ্ধতিতে কল গণনা পর্যবেক্ষণ করতে পারি?


10

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

উত্তর:


17

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

SELECT
    OBJECT_NAME(qt.objectid)
  , qs.execution_count AS [Execution Count]
  , qs.execution_count / DATEDIFF(Second, qs.creation_time, GETDATE()) AS [Calls/Second]
  , qs.total_worker_time / qs.execution_count AS [AvgWorkerTime]
  , qs.total_worker_time AS [TotalWorkerTime]
  , qs.total_elapsed_time / qs.execution_count AS [AvgElapsedTime]
  , qs.max_logical_reads
  , qs.max_logical_writes
  , qs.total_physical_reads
  , DATEDIFF(Minute, qs.creation_time, GETDATE()) AS [Age in Cache]
FROM
    sys.dm_exec_query_stats AS qs
CROSS APPLY 
    sys.dm_exec_sql_text(qs.[sql_handle]) AS qt
WHERE
    qt.[dbid] = DB_ID()
AND qt.objectid = OBJECT_ID('StoredProcedureName')
OPTION (RECOMPILE);

সর্বাধিক সম্পাদিত কার্যকর পদ্ধতিগুলি দেখার জন্য:

SELECT
    OBJECT_NAME(qt.objectid)
  , qs.execution_count AS [Execution Count]
  , qs.execution_count / DATEDIFF(Second, qs.creation_time, GETDATE()) AS [Calls/Second]
  , qs.total_worker_time / qs.execution_count AS [AvgWorkerTime]
  , qs.total_worker_time AS [TotalWorkerTime]
  , qs.total_elapsed_time / qs.execution_count AS [AvgElapsedTime]
  , qs.max_logical_reads
  , qs.max_logical_writes
  , qs.total_physical_reads
  , DATEDIFF(Minute, qs.creation_time, GETDATE()) AS [Age in Cache]
FROM
    sys.dm_exec_query_stats AS qs
CROSS APPLY 
    sys.dm_exec_sql_text(qs.[sql_handle]) AS qt
WHERE
    qt.[dbid] = DB_ID()
ORDER BY
    qs.execution_count DESC
OPTION (RECOMPILE);

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

DBCC SQLPERF("sys.dm_os_wait_stats",CLEAR);

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

বিকল্পভাবে, একজন প্রোফাইলার ট্রেস ক্যাপচার করুন এবং সাফ ট্রেস এর মাধ্যমে চালান ।


দেখে মনে হচ্ছে আমি অনেকগুলি ফলাফলের সেট পেয়েছি তবে ঠিক নয়। উদাহরণস্বরূপ, আমি কলাম অবজেক্ট_নামের প্রতিক্রিয়ায় একই জিনিসগুলির বেশ কয়েকটিতে দেখতে পাই তবে বেশিরভাগ বিবরণ কয়েকটি ব্যতিক্রম সহ একই with মিল রয়েছে কলামের বিশদ: এক্সিকিউশনকাউন্ট, কল / সেকেন্ড, এজআইন ক্যাশে। মেলে না এমন কলামের বিশদ: অ্যাভিজি ওয়ার্কারটাইম, টোটাল ওয়ার্কারটাইম, অ্যাভিজিএলপসিডটাইম। অনেকের অনেকের পরিণতি কী হতে পারে?
kstubs
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.