ডিএমভিতে টোটাল_সিলাপিত_টাইম কি sys.dm_exec_requests সম্পূর্ণ ভুল?


13

আমি এসকিউএল সার্ভার 2012 চালিয়ে যাচ্ছি এবং ডিএমভি ব্যবহার করে পর্যবেক্ষণের জন্য কিছু প্রশ্ন একসাথে রাখার চেষ্টা করছি। যাইহোক, ডিএমভিতে total_elapsed_timeমাঠের দিকে তাকানোর সময় sys.dm_exec_requests, নম্বরগুলি দেখায়। এখানে একটি উদাহরণ:

SELECT
  session_id, RunTime = CURRENT_TIMESTAMP,
  start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE session_id = 284;

session_id  RunTime                 start_time              total_elapsed_time
284         2016-04-07 16:14:03.690 2016-04-07 16:08:14.587 1419976

আমার গণনা দ্বারা * অতিবাহিত সময়টি প্রায় 349,103 এর কাছাকাছি হওয়া উচিত - 1,419,976 নয়। এটি 4 এর একটি ফ্যাক্টর দ্বারা বন্ধ।

* পার্থক্য, মিলিসেকেন্ডে, বর্তমান সময় এবং মধ্যে থেকে START_TIME অর্থাত
SELECT DATEDIFF(MILLISECOND, '2016-04-07T16:08:14.587', '2016-04-07T16:14:03.690');

সার্ভারের তথ্য এখানে:

SELECT @@VERSION;

Microsoft SQL Server 2012 - 11.0.5592.0 (X64) 
    Apr 17 2015 15:18:46 
    Copyright (c) Microsoft Corporation
    Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

কোন ধারণা এই বৈষম্য কারণ হতে পারে?


উত্তর:


11

একটি বাগ রয়েছে যা সমান্তরাল ক্রিয়াকলাপে সময়কে একত্রিত করে। এটি 2014 সালে ঠিক করা হয়েছে।

Total_elapsed_time পর্যন্ত এটি ব্যাচ পরবর্তী বিবৃতি উপর চলে আসে একটি ব্যাচ মধ্যে একটি নির্দিষ্ট সমান্তরাল জিজ্ঞাসার জন্য সঠিক হতে হবে, তারপরে total_elapsed_time DOP কে দ্বারা বিস্ফোরিত করা হবে।

উদাহরণ

এটি একটি ক্যোয়ারী উইন্ডোতে চালান:

USE AdventureWorks2012
GO
SELECT *
FROM Sales.SalesOrderDetail sod
JOIN Production.Product p ON sod.ProductID = p.ProductID
ORDER BY Style 

waitfor delay '00:00:15'

এক সেকেন্ডে এটি চালান:

select 
    DATEDIFF(ms, start_time, getdate()) ActualElapsedTime,
    total_elapsed_time from sys.dm_exec_requests
where session_id = <your session_id for the above batch>

এসকিউএল সার্ভার WAITFORDELAYবিবৃতিতে না সরে যাওয়া পর্যন্ত দুটি মান অভিন্নের কাছাকাছি থাকবে , তারপরে আপনার মোট_সিলাপিত_টাইম বিস্ফোরিত হওয়া উচিত (প্রথম ক্যোয়ারীর সাথে আমার সার্ভারে যেমন সমান্তরাল পরিকল্পনা রয়েছে তা ধরে নেওয়া)।

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


7

দেখে মনে হচ্ছে এটি ডিএমভিতে কোনও বাগ / ইস্যুও হতে পারে। এই ধরণের অসম্পূর্ণতার এখানে একটি সংযুক্ত বাগ রিপোর্ট রয়েছে । প্রস্তাবিত কাজের মত ব্যবহার করা হয়

GETDATE() - sys.dm_exec_requests.start_time

মোট_এলপসড_টাইমের পরিবর্তে । সমস্যাটি এসকিউএল সার্ভার ২০১৪-এ সমাধান করা হয়েছে। "নাথান (এমএসএফটি)" দ্বারা সংযুক্ত আইটেমটির মন্তব্যটি উদ্ধৃত করার জন্য:

Sys.dm_exec_requests.total_elapsed_time নিয়ে সমস্যাটি ক্রিয়াকলাপের জন্য নির্দিষ্ট নয় RESTORE; এটি UPDATE STATISTICSপাশাপাশি পালন করা হয়েছে । এই সমস্যাটি এসকিউএল সার্ভার ২০০৮ আর 2 এ সমাধান করা হবে না। [...] এসকিউএল সার্ভার 2014 এ সমস্যাটি সমাধান হয়েছে।


2

আমি একটি দম্পতি সার্ভার চেক করেছি এবং পটভূমির অনুরোধগুলিতে 2 মাসের মধ্যে প্রায় 14s এর প্রবাহকে লক্ষ্য করেছি।

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

অন্যান্য কারণ থাকতে পারে তবে আমি এখনও কোনও খুঁজে পাইনি। আপনি আপনার ক্যোয়ারী নিরীক্ষণ অবস্থায় চলেছেন না তা নিশ্চিত করে এটি পর্যবেক্ষণ করে এটিকে বাতিল করতে পারেন।

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