এসকিউএল সার্ভারের অনুসন্ধানগুলি কেন ডিস্ক I / O এর 7MB / সেকেন্ডের বেশি ব্যবহার করে না


11

আমার একটি এসএসডি রয়েছে যা IOmeter পরীক্ষা ব্যবহার করে 200MB / s এর চেয়ে বেশি পারফরম্যান্স দেখায়। তবে আমি যখন লোকাল মেশিন থেকে কোনও এসকিউএল কোয়েরি চালাই তখন উইন্ডো রিসোর্স মনিটর কখনই ডিস্ক আইও 7 এমবি / সেকেন্ডের উপরে প্রদর্শন করে না। এটি চালানোতে 2 মিনিটের বেশি সময় নেয় এমন প্রশ্নের জন্যও সত্য। বাধা কী হতে পারে যে এটি কেবল এসএসডি থেকে 7 এমবি / সেকেন্ড ব্যবহার করছে?

আমি দৌড়াচ্ছি:

  • উইন্ডোজ সার্ভার 2012 স্ট্যান্ডার্ড
  • এসকিউএল সার্ভার 2008 আর 2
  • ইন্টেল i7 3820
  • ৩২ জিবি র‌্যাম
  • স্যান্ডিস্ক এসএসডি

2
সম্ভবত ডেটাটি ইতিমধ্যে র‍্যামে রয়েছে এবং কোনও ডিস্ক অ্যাক্সেসের প্রয়োজন নেই?
gbn

1
@ ডিয়ানম্যাকগ্রিগোর - আপনি ফলাফলগুলি কীভাবে ব্যবহার করছেন? যদি এসএসএমএসে থাকে তবে আপনি যদি ফলাফলগুলি ফেলে দেওয়ার বিকল্প ব্যবহার করেন। কিছু পরিবর্তন হয় না? এছাড়াও sys.dm_os_waiting_tasksকোয়েরিটি চলছে কিনা তা দেখার জন্য আপনি অন্য অপেক্ষা করার ধরণ রয়েছে কিনা তা দেখার জন্য চেষ্টা করতে পারেন।
মার্টিন স্মিথ

1
200 এমবি / এস এলোমেলো অ্যাক্সেসের জন্য (4 কিলোবাইট ব্লকের জন্য এলোমেলো পাঠ্য) পড়তে পারে? আমার ধারণা একটি ডাটাবেস সাধারণত এটি করবে typically কোয়েরিটি কি ডিস্কে লিখুন (অস্থায়ী ফাইল, অস্থায়ী ফলাফল সেট বা সারণী)?

2
@ ডিয়ানম্যাকগ্রিগোর - সুতরাং সমীকরণের বাইরে নিতে আপনি ফলাফলকে স্কেলার ভেরিয়েবলগুলিতে (উদাহরণস্বরূপ ক্যোয়ারী) নির্ধারণ করতে পারেন। DECLARE @Name VARCHAR(10), @High int; SELECT @Name=name, @High = high FROM master..spt_values। সুতরাং ক্লায়েন্টের কাছে কোনও ফলাফল ফেরত পাঠানো হয়নি তবে পরিকল্পনা এবং আইও এখনও একই থাকবে।
মার্টিন স্মিথ

4
ধরুন আপনি ASYNC_NETWORK_IO সমস্যাটি নেটওয়ার্কের সাথে সম্পর্কিত কিনা তা বোঝার অপেক্ষা করছেন? এটি (সাধারণত) নয়। @ মার্টিনস্মিথ সম্ভবত পরামর্শ দিয়েছেন (দুবার) যে এসএসএমএস বা আপনি যে অ্যাপ্লিকেশনটি ব্যবহার করছেন সেটি এসকিউএল যত তাড়াতাড়ি তাদের পরিবেশন করছে ফলাফল তত দ্রুত গ্রহণ করছে না। সারিগুলির ব্যবহার বাদ দেওয়ার প্রস্তাবিত যে কোনও একটি অনুসরণ করুন এবং আপনি সর্বাধিক আইও থ্রুপুটটির সত্য (আর) চিত্র পাবেন।
মার্ক স্টোরী-স্মিথ

উত্তর:


7

মন্তব্য শৃঙ্খলা থেকে, দেখে মনে হচ্ছে আপনি ব্যাখ্যার অর্থ এই ASYNC_NETWORK_IOঅপেক্ষা করছেন যে সমস্যাটি নেটওয়ার্কের সাথে সম্পর্কিত। এটি (সাধারণত) নয়।

যেহেতু @ মার্টিনস্মিথ ইঙ্গিত করেছেন (দ্বিগুণ) তার পক্ষে সম্ভবত সবচেয়ে বড় ব্যাখ্যাটি এসএসএমএস বা আপনি যে অ্যাপ্লিকেশনটি ব্যবহার করছেন এসকিউএল সার্ভারটি তত দ্রুত ফলাফল গ্রহণ না করে them আপনার পরিমাপ থেকে সারিগুলির ব্যবহার অপসারণ করতে প্রস্তাবিত পদ্ধতিগুলির কোনও অনুসরণ করুন এবং আপনি সর্বাধিক আইও থ্রুপুটটির সত্য (আর) চিত্র পাবেন:

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

আপনার অন্যান্য কয়েকটি মন্তব্যকে সম্মান জানাতে:

9 মিলিয়ন সারি ফেরত দেয় এমন একটি কোয়েরি কার্যকর করার সময় সিপিইউ ব্যবহারের পরিমাণ 13% থাকবে স্কেলসার্ভারে 9% দায়ী ... এটি যদি সমস্ত ডেটা র‍্যামে থাকে তবে 3 মিনিটের চেয়েও দ্রুত ফলাফলটি ফিরিয়ে আনবে না?

আমরা এখানে ঠিক কীভাবে পরীক্ষা করছি, কীভাবে এবং কেন? যদি আপনার 9 মিলিয়ন সারি কোয়েরিটি অন্য কোনও কিছু হয় SELECT * FROM dbo.SomeTableতবে 1001 টি কারণ খেলতে আসে যা কেবল কাঁচা আইও থ্রুপুট ব্যতীত।

আপনার ইন্টেল I7-3820 একটি 4-কোর প্রসেসর। যদি আপনার পরীক্ষার ক্যোয়ারী একটি সমান্তরাল পরিকল্পনা তৈরি করে না, আপনি যদি সিস্টেম থেকে 20% সিপিইউর বেশি ব্যবহার করতে পারেন তবে আমি অবাক হব।

9 মিলিয়ন সারিগুলি ফেরত দেওয়ার 3 মিনিটটি অত্যন্ত সন্দেহজনক এবং পরামর্শ দেয় আমরা কীভাবে আপনার পরীক্ষার পুরো চিত্র পাচ্ছি না। আমার অনুমানটি হ'ল এটি সাব-অনুকূল (অ সমান্তরাল) ক্যোয়ারী প্ল্যানের কেস, নেস্টেড-লুপ অপারেটরগুলিতে ভরপুর, লক্ষ লক্ষ সারি টানছে অর্থাৎ SELECTআইওর খরচটি যাচাই করার জন্য কেবল একটি টেবিল নয় ।

আমার পরামর্শ:

  1. SELECT *এসকিউএল সার্ভারের মাধ্যমে কেবল আইও পরীক্ষা করতে ।
  2. আপনি কেন এটি আইও সন্তুষ্ট করেন না তা খনন করতে চাইলে আপনার প্রশ্নের কার্যকর করার পরিকল্পনা সহ নতুন প্রশ্ন plan

আসলে এটি dbo.sometable থেকে কেবল * নির্বাচন করুন। দুঃখিত আমি তাড়াতাড়ি উল্লেখ করিনি; আমার অর্থ হ'ল আমি যে কোয়েরিটি কোনও টেবিলের বাইরে চালাতে পারি। আমার প্রশ্নের জেনেসিসটি হ'ল আমি লক্ষ্য করেছি যে আমার ডিস্ক আইও আমার "আমাকে প্রচুর ডেটা দিন" ক্যোরিয়াম থেকেও প্রত্যাশার চেয়ে অনেক কম ছিল। আমার প্রধান উদ্বেগটি হ'ল ডিস্ক আইও যদি এত কম হয় তবে লো ডিস্ক আইওর মূল কারণটি যদি নির্মূল করা হয় তবে পারফরম্যান্সে উন্নতি হতে পারে।
ডিন ম্যাকগ্রিগোর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.