SQL सर्वर 2016 बनाम 2012 सम्मिलित प्रदर्शन


14
  • मेरे पास एक ही सर्वर पर दो SQL सर्वर इंस्टेंस हैं:

    • Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64) मानक संस्करण (64-बिट)
    • Microsoft SQL सर्वर 2016 (SP1-CU5) (KB4040714) - 13.0.4451.0 (X64) एंटरप्राइज़ संस्करण (64-बिट)
  • sp_configure परिणाम दोनों उदाहरणों (नए 2016 विकल्पों को छोड़कर) पर समान हैं।

  • मैंने एक ही डिस्क फ़ोल्डर में दोनों उदाहरणों पर नए डेटाबेस बनाए हैं। ऑटोग्रॉथ पैरामीटर समान हैं।

  • स्वतः पूर्ण और स्वतः पूर्ण आँकड़े विकल्प बंद कर दिए जाते हैं।

  • फिर मैंने एक ढेर में 10000 आवेषण के साथ एक परीक्षण किया है:

set nocount on
go

create table dbo.TestInsert ( i int not null, s varchar(50) not null )

declare @d1 datetime, @d2 datetime, @i int
set @d1 = getdate() 
set @i = 1

while @i <= 10000
begin
  insert into dbo.TestInsert ( i, s ) select @i, replicate( 'a', 50 )
  set @i = @i + 1
end

set @d2 = getdate()
select datediff(ms, @d1, @d2)
drop table dbo.TestInsert

परिणाम 1

औसत परीक्षा का समय

  • 2012 - 530 मि
  • 2016 - 600 एमएस

तो, 2016 लगभग 11% धीमा है।

  • तब मैंने माइक्रोसेकंड में एकल डालने की अवधि देखने के लिए तालिका में सहेजे गए परिणामों के साथ एक SQL Profiler ट्रेस बनाया है।

परिणाम २

२०१२ बनाम २०१६ में एक एकल सम्मिलित अवधि का हिस्टोग्राम : यहाँ छवि विवरण दर्ज करें

लेनदेन लॉग 'sysinos_io_virtual_file_stats से वृद्धि है:

  • 2012 - 5174784 बाइट्स
  • 2016 - 5171200 बाइट्स

इन परीक्षणों के दौरान दोनों उदाहरण शुरू किए जाते हैं। लेकिन हर बार एक परीक्षा केवल एक उदाहरण पर चल रही है। मैंने प्रति उदाहरण 8 जीबी रैम आवंटित किया है। क्वेरी प्लान समान हैं। प्रत्येक उदाहरण को अपने बॉक्स पर चलाना दिलचस्प होगा। लेकिन शायद एक मशीन बेहतर है, क्योंकि यहां हमारे पास कोई हार्डवेयर और पर्यावरणीय अंतर नहीं है।

प्रशन

  • 2016 धीमा क्यों है?
  • क्या कोई इस परीक्षण को पुन: पेश कर सकता है?

SQL सर्वर 2016 पर TF 692 के साथ कोई परिवर्तन? blogs.msdn.microsoft.com/sql_server_team/…
जो ओबिश ऑक्ट

"SQL Server 2016 पर TF 692 के साथ कोई परिवर्तन" कोई परिवर्तन नहीं।
ओल्गा सोसोनोख

1
मैं परीक्षण फिर से चलाऊंगा, लेकिन परीक्षण के दौरान निष्क्रिय उदाहरण को बंद कर दूंगा। २०१२ का उदाहरण २०१६ के उदाहरण से दूर संसाधनों को लेते हुए, आपने अपना परीक्षण पूरा करने के बाद एक चेकपॉइंट या अन्य async प्रक्रिया को चलाया जा सकता है।
नबील बेकर

1
इसके अलावा दोनों उदाहरण पूरी तरह से पैच किए जाने चाहिए, इसलिए SQL 2016 SP 2 CU 2, और SQL 2012 SP4 + GDR ( support.microsoft.com/en-us/help/4057116/… )
डेविड ब्राउन - Microsoft

3
एक स्पष्ट लेनदेन के बिना यह सिर्फ परीक्षण करता है कि लॉग फ़ाइल को फ्लश करने में कितना समय लगता है।
डेविड ब्राउन - Microsoft

जवाबों:


1

जाहिर है कि एक ही सर्वर में बिल्कुल एक ही संस्करण होने का संयोग बहुत मुश्किल है लेकिन ... मुझे उम्मीद है कि मेरे परिणाम आपकी मदद करेंगे। मेरे पास दो अलग-अलग मशीनें हैं जो दोनों Windows Server 2012 R2 मानक से कॉन्फ़िगर की गई हैं। दुर्भाग्य से उनके पास समान हार्डवेयर नहीं है लेकिन समान है:

  1. मशीन 1 (SQL सर्वर 2016)

    • प्रोसेसर: Intel (R) Xeon (r) CPU X5650 @ 2.67GHz
    • Microsoft SQL Server 2016 (RTM) - 13.0.1601.5 (X64) Apr 29 2016 23:23:58 कॉपीराइट (c) Microsoft कॉर्पोरेशन मानक संस्करण (64-बिट) विंडोज सर्वर 2012 R2 मानक 6.3 (बिल्ड 9600: बिल्ड) (हाइपरविजर) पर
  2. मशीन 2 (SQL सर्वर 2012)

    • प्रोसेसर: Intel (R) Xeon (R) CPU E5-2667 0 @ 2.9 GHz
    • Microsoft SQL Server 2012 - 11.0.5058.0 (X64) 14 मई 2014 18:34:29 कॉपीराइट (c) Microsoft NT मानक संस्करण (64-बिट) Windows NT 6.3 पर (बिल्ड 9600:) (हाइपरविजर)

और मैं दोनों मशीनों में 5 बार चलाता हूं जो आपने एक ही स्क्रिप्ट प्रदान की है और निम्नलिखित औसत प्राप्त की है:

  • 2012: 9961
  • 2016: 8971

आपके द्वारा प्राप्त किए जाने वाले लगभग विपरीत परिणाम क्या हैं। वैसे भी, जैसा कि आपने देखा है, मेरी 2012 मशीन में बेहतर प्रोसेसर है, लेकिन हार्ड डिस्क जो सामान्य रूप से दिखाता है कि अंतर समान है। इसलिए, भले ही 2012 में बेहतर संसाधन हों, मेरे मामले के लिए थोड़ा धीमा है।

(क्षमा करें, कृपया फिर से देखें, मेरे पहले संस्करण में कुछ महत्वपूर्ण गलतियाँ थीं)


-2

क्या आप (TABLOCK) न्यूनतम लॉगिंग को सक्षम करने के लिए संकेत जोड़ सकते हैं ? इस संकेत को लागू करने के बाद क्या अंतर है?

INSERT INTO t_heap WITH (TABLOCK) 
SELECT * 
FROM t_source
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.