पूर्ण स्कैन अपडेट आँकड़े SQL सर्वर 2014 पर CPU के 100% का उपयोग क्यों करते हैं, यह समान हार्डवेयर क्षमता के साथ, समान तालिकाओं के लिए SQL Server 2008 R2 पर शायद 20% CPU का उपयोग करता है?
मैं MAXDOP
अन्य विकल्पों को देख रहा हूं , और वास्तव में ऐसा कुछ भी नहीं है जो बाहर खड़ा हो। मुझे लगता है कि ऐसी सेटिंग्स हो सकती हैं जो इसका कारण बन सकती हैं, लेकिन सेटिंग्स दोनों डेटाबेस के लिए बहुत समान हैं (उदाहरण के लिए, MAXDOP
दोनों के लिए 4 है, दोनों के साथ कई कोर हैं)। दोनों एंटरप्राइज एडिशन हैं।
क्या SQL Server 2014 बनाम SQL Server 2008 R2 में कुछ "अलग" है जो इसे समझा सकता है? मेरे पास दोनों सर्वरों के लिए 90% मेमोरी विकल्प है। क्या देखना है पर कोई विचार?
मैं SQL Server 2008 R2 / SP3 और SQL Server 2014 / SP2 का उपयोग करके दो सर्वरों पर सप्ताह में एक बार पूर्ण (100%) स्कैन के साथ अपडेट आंकड़े चलाता हूं, और डेटाबेस में समान संरचना है। 2008 R2 सर्वर पर दो बहुत बड़ी तालिकाओं के अपडेट आँकड़े में कई घंटे लगते हैं, जो कि मैं उम्मीद करता हूं, लेकिन सीपीयू 20% से कम रहता है या इसलिए पूरे समय का उपयोग होता है। हालांकि, 2014 के सर्वर पर, सीपीयू लगभग 40 मिनट के लिए 100% हो जाता है। 2014 सर्वर पर टेबल थोड़ी छोटी हैं। मैं SQL मॉनिटर विश्लेषण मेनू का उपयोग करके इसे देखता हूं।
यहाँ 2014 SQL सर्वर पर ओला लॉग फ़ाइल का आउटपुट है, CPU लगभग 2:10 से 2:45 तक 100% हो जाता है:
Date and time: 2017-06-24 02:10:20
Command: UPDATE STATISTICS [InVA].[dbo].[AuditField] [_WA_Sys_00000005_15502E78] WITH FULLSCAN
Outcome: Succeeded
Duration: 00:07:48
Date and time: 2017-06-24 02:18:08
Date and time: 2017-06-24 02:18:08
Command: UPDATE STATISTICS [InVA].[dbo].[AuditField] [_WA_Sys_00000006_15502E78] WITH FULLSCAN
Outcome: Succeeded
Duration: 00:32:22
Date and time: 2017-06-24 02:50:30
यहाँ उपरोक्त दो आँकड़ों के लिए 2008 R2 SQL सर्वर पर ओला लॉग फ़ाइल का आउटपुट है, लेकिन CPU शायद 15% तक जाता है:
Date and time: 2017-06-24 03:30:32
Command: UPDATE STATISTICS [InGA].[dbo].[AuditField] [_WA_Sys_00000003_0425A276] WITH FULLSCAN
Outcome: Succeeded
Duration: 00:05:00
Date and time: 2017-06-24 03:35:32
Date and time: 2017-06-24 03:35:32
Command: UPDATE STATISTICS [InGA].[dbo].[AuditField] [_WA_Sys_00000004_0425A276] WITH FULLSCAN
Outcome: Succeeded
Duration: 00:52:31
Date and time: 2017-06-24 04:28:03
मैं उन्हें सर्वर मैक्सडोप = 1 के साथ नहीं चला सकता क्योंकि यह सभी समानांतर योजना पीढ़ी को समाप्त करता है, और इससे एप्लिकेशन को नुकसान हो सकता है। मैं विपरीत दिशा में जाने और इसे 8 तक बढ़ाने की योजना बनाता हूं (बॉक्स पर 16 कोर हैं) और देखें कि क्या होता है। सीपीयू पेग होने की अवधि को कम करने के लिए तेजी से जा सकता है। यह काम चलता है जबकि उपयोगकर्ता ज्यादातर चले जाते हैं।
tempdb
विन्यास एक ही है? इसका उपयोगUPDATE STATISTICS
चल रहा है, जबकि यह भी एक मुद्दा हो सकता है।