অপেক্ষা করা হচ্ছে এমন প্রশ্নের সন্ধান করুন


34

একটি নির্দিষ্ট ধরণের প্রত্যাশা দেওয়া, আপনি কীভাবে আবিষ্কার করবেন যে কোন প্রশ্নগুলি কোনও প্রোডাকশন এসকিউএল ২০০৮ আর 2 সার্ভারে নিরাপদে অপেক্ষা করছে?

এই বিশেষ ক্ষেত্রে আমি ভাবছি async_network_io

উত্তর:


32

এগুলি পরীক্ষা করার জন্য আমার প্রিয় উপায় হ'ল অ্যাডাম মাচানিকের দুর্দান্ত এসপি_হোআইএসএকটিভ স্টোরড প্রোক। এটি কীভাবে ব্যবহার করতে হয় তার একটি ভিডিও এবং কোডটি ডাউনলোড করার জন্য একটি লিঙ্ক:

http://www.brentozar.com/archive/2010/09/sql-server-dba-scripts-how-to-find-slow-sql-server-queries/

ক্যাচটি হ'ল ফলটি যাচাই করতে আপনাকে পর্যায়ক্রমে এটি চালাতে হবে। আপনি যদি এই ডেটা পর্যায়ক্রমে আপনার জন্য জড়ো করতে চান, তবে sp_WhoIs ক্রিয়ামূলক ফলাফলগুলি একটি টেবিলে ক্যাপচার করার জন্য কেন্দ্র লিটলের টিউটোরিয়ালটি দেখুন:

http://www.littlekendra.com/2011/02/01/whoisactive/

অবশেষে, যখনই কোনও প্রশ্ন অ্যাসিঙ্ক_নেটওয়ার্ক_ওর জন্য অপেক্ষা করে তখন আপনি কিছু গুলি চালাতে চান, আপনি এক্সটেন্ডেড ইভেন্টস নামে একটি নতুন সরঞ্জাম ব্যবহার করতে পারেন। এটি এসকিউএল সার্ভার ইঞ্জিনের ভিতরে ডিবাগ পয়েন্টগুলির মতো যেখানে আপনি যাদু ঘটাতে পারেন। সত্যই, 2008 সালে এই মুহূর্তে ব্যবহার করা কিছুটা বেদনাদায়ক।


14

'async_wait_io' অপেক্ষা করার ধরণ নয়। সম্ভাব্য ASYNC% অপেক্ষার প্রকারগুলি হ'ল:

  • ASYNC_IO_COMPLETION
  • ASYNC_NETWORK_IO
  • ASYNC_DISKPOOL_LOCK

অপেক্ষার প্রকারের জন্য কয়েকটি ভাল লিঙ্ক:

আমার বর্তমান অপেক্ষাগুলি সন্ধানের জন্য ক্যোয়ারিতে যেতে:

SELECT  req.session_id
       ,blocking_session_id
       ,ses.host_name
       ,DB_NAME(req.database_id) AS DB_NAME
       ,ses.login_name
       ,req.status
       ,req.command
       ,req.start_time
       ,req.cpu_time
       ,req.total_elapsed_time / 1000.0 AS total_elapsed_time
       ,req.command
       ,req.wait_type
       ,sqltext.text
FROM    sys.dm_exec_requests req
CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext
JOIN    sys.dm_exec_sessions ses
        ON ses.session_id = req.session_id
WHERE req.wait_type IS NOT NULL
--WHERE req.wait_type = '?'

দুঃখিত, আমি async_network_io বোঝাতে চাইছি।
কাইল ব্র্যান্ড 21


@ মারিয়ান: ব্রেন্ট আমাকে আজ কিছু জিনিস দেখিয়েছিল তবে আমাদের কাছে আসার আগে সময় শেষ হয়ে গেছে, সম্ভবত এই নিবন্ধটি ঠিক তেমন ভাল হবে :-)
কাইল ব্র্যান্ড্ট

@ কাইল আপনার ব্রেন্ট পেয়েছে আপনাকে স্টাফ দেখাতে এবং এখনও আমাদের জিজ্ঞাসা করতে? :) আপনার অফিসে তাকে চেয়ারে চেইন করা উচিত .. তার মস্তিষ্ক শুকিয়ে নিন .. এবং তারপরে তাকে ছেড়ে দিন;)। এবং আমাদের ফলাফল জানাতে ভুলবেন না!
মারিয়ান

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