हमारे उत्पादन SQL सर्वर पर प्रमुख प्रदर्शन समस्याएँ, मैं इसका कैसे निवारण करूँगा?


11

यह प्रश्न मूल रूप से इस प्रश्न का अनुवर्ती प्रश्न है:
SQL सर्वर 2016 के साथ अजीब प्रदर्शन समस्या

अब हम इस प्रणाली के साथ उत्पादक बन गए। हालांकि मेरी पिछली पोस्ट के बाद से इस SQL ​​सर्वर में एक और एप्लिकेशन डेटाबेस जोड़ा गया था।

ये सिस्टम आँकड़े हैं:

  • 128 जीबी रैम (110 जीबी मैक्स मेमोरी SQL सर्वर के लिए)
  • 4 करोड़ @ 2.6 गीगाहर्ट्ज़
  • 10 GBit नेटवर्क कनेक्शन
  • सभी भंडारण एसएसडी आधारित है
  • प्रोग्राम फाइल, लॉग फाइल, डेटाबेस फाइल और टेम्पर्डब सर्वर के अलग-अलग विभाजन पर हैं
  • विंडोज सर्वर 2012 R2
  • VMware संस्करण HPE-ESXi-6.0.0-Update3-iso-600.9.7.0.17
  • VMware उपकरण संस्करण 10.0.9, 3917699 का निर्माण करता है
  • Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64) 28 अक्टूबर 2016 18:17:30 कॉपीराइट (c) Microsoft कॉर्पोरेशन मानक संस्करण (64-बिट) विंडोज सर्वर 2012 R2 मानक 6.3 (बिल्ड 9600:) पर (सूत्र)

यहाँ छवि विवरण दर्ज करें

हमारे सिस्टम में अब बड़े प्रदर्शन के मुद्दे हैं। बहुत उच्च CPU उपयोग और थ्रेड काउंट्स: यहाँ छवि विवरण दर्ज करें

गतिविधि मॉनिटर के आँकड़े प्रतीक्षा करें (मुझे पता है कि यह बहुत विश्वसनीय नहीं है)

यहाँ छवि विवरण दर्ज करें

Sp_blitzfirst के परिणाम:

यहाँ छवि विवरण दर्ज करें

Sp_configure के परिणाम:

यहाँ छवि विवरण दर्ज करें

उन्नत सर्वर सेटिंग्स (केवल जर्मन में दुर्भाग्य)

यहाँ छवि विवरण दर्ज करें

मेरे द्वारा MAXDOP सेटिंग बदल दी गई थी।

मुझे पता है कि यह संभवतः SQL सर्वर के साथ कोई समस्या नहीं है । वर्चुअली वर्चुअलाइजेशन (vmware), नेटवर्क संबंधी (मैं पहले से ही इसका परीक्षण कर चुका हूं) या एप्लिकेशन के साथ समस्या। मैं इसे और भी नीचे गिराना चाहता हूं।

Sqlserver प्रक्रिया के लिए उच्च थ्रेड काउंट में परिणाम ASYNC_NETWORK_IO होगा? मुझे लगता है कि यह बहुत से श्रमिकों के लिए होगा क्योंकि धागे बंद नहीं किए जा सकते। क्या वह सही है?

मुझे आपकी कोई अतिरिक्त जानकारी प्रदान करनी होगी। अपने समर्थन के लिए अग्रिम धन्यवाद!

संपादित करें:

के परिणाम sp_Blitz @OutputType = ‘markdown’, @CheckServerInfo = 1

प्राथमिकता 1: बैकअप :

  • उसी ड्राइव पर वापस जाना जहां डेटाबेस निवास - पिछले दो सप्ताह में ड्राइव E: \ पर किए गए 5 बैकअप, जहां डेटाबेस फाइलें भी रहती हैं। यह एक गंभीर जोखिम का प्रतिनिधित्व करता है अगर वह सरणी विफल हो जाती है।

प्राथमिकता 1: विश्वसनीयता :

  • अंतिम अच्छा DBCC CHECKDB 2 सप्ताह से अधिक पुराना

    • babtec_prod - अंतिम सफल CHECKDB: 2017-08-20 00: 01: 01.513

    • D3PR - अंतिम सफल चेक: कभी नहीं।

    • DEMO77 - अंतिम सफल CHECKDB: 2016-02-23 20: 31: 38.590

    • फाइनल - अंतिम सफल चेक: 2017-04-23 22: 01: 19.133

    • GridVis_EnMs - अंतिम सफल CHECKDB: 2017-05-18 22: 10: 48.120

    • मास्टर - अंतिम सफल CHECKDB: कभी नहीं।

    • नमूना

    • msdb

    • PROD77 - अंतिम सफल CHECKDB: 2016-02-23 21: 33: 24.343

प्राथमिकता 10: प्रदर्शन :

  • क्वेरी स्टोर अक्षम - इस डेटाबेस पर नया SQL Server 2016 क्वेरी स्टोर सुविधा सक्षम नहीं की गई है।

    • babtec_prod

    • D3PR

    • DEMO77

    • FINP

    • GridVis_EnMs

प्राथमिकता 50: DBCC घटनाएँ :

  • DBCC DROPCLEANBUFFERS - उपयोगकर्ता schorsch ने DBCC DROPCLEANBUFFERS को 1 बार Sep 21 2017 11:57 AM और Sep 21 2017 11:57 AM के बीच 1 बार चलाया है। यदि यह एक उत्पादन बॉक्स है, तो जानें कि ऐसा होने पर आप सभी डेटा को मेमोरी से साफ़ कर रहे हैं। ऐसा कौन सा राक्षस करेगा?

  • DBCC SHRINK% - उपयोगकर्ता विद्वान ने फ़ाइल को 21 सितंबर 2017 11:51 PM और Okt 4 2017 9:02 AM के बीच 6 बार सिकुड़ाया है। तो, उह, क्या वे भ्रष्टाचार को ठीक करने की कोशिश कर रहे हैं, या भ्रष्टाचार का कारण हैं?

  • ओवरऑल इवेंट्स - 287 DBCC इवेंट्स 19 सितंबर 2017 1:40 PM और Okt 4 2017 3:20 PM के बीच हुए हैं। इसमें CHECKDB और आम तौर पर सौम्य DBCC इवेंट शामिल नहीं हैं।

प्राथमिकता 50: प्रदर्शन :

  • फ़ाइल विकास धीमा PROD77 - 2 वृद्धि में प्रत्येक 15 सेकंड से अधिक समय लगा। एक छोटे वेतन वृद्धि के लिए फ़ाइल ऑटोग्रॉथ पर विचार करें।

प्राथमिकता 50: विश्वसनीयता :

  • पृष्ठ सत्यापन नहीं इष्टतम babtec_prod - डेटाबेस [babtec_prod] पृष्ठ सत्यापन के लिए TORN_PAGE_DETECTION है। SQL सर्वर को संग्रहण दूषण से पहचानने और पुनर्प्राप्त करने में कठिन समय हो सकता है। इसके बजाय चेक का उपयोग करने पर विचार करें।

प्राथमिकता 100: प्रदर्शन :

  • वन क्वेरी के लिए कई योजनाएं - 3576 योजनाएं कैश में एक ही क्वेरी के लिए मौजूद हैं - जिसका अर्थ है कि हमारे पास संभवतः पैरामीटर मुद्दे हैं।

प्राथमिकता 110: प्रदर्शन :

  • सक्रिय टेबल्स बिना क्लस्टर किए इंडेक्स

    • babtec_prod - [babtec_prod] डेटाबेस में ढेर - बिना क्लस्टर इंडेक्स के टेबल हैं - जिन्हें सक्रिय रूप से क्वियर किया जा रहा है।

    • डी 3 डीआर - [डी 3 डीआर] डेटाबेस में ढेर - बिना क्लस्टर इंडेक्स वाली टेबल हैं - जिन्हें सक्रिय रूप से क्वेर किया जा रहा है।

    • DEMO77 - [DEMO77] डेटाबेस में ढेर है - बिना क्लस्टर इंडेक्स वाली टेबल - जो सक्रिय रूप से क्वियर की जा रही है।

    • एफएनपी - [एफएनपी] डेटाबेस में ढेर - बिना क्लस्टर इंडेक्स के टेबल हैं - जिन्हें सक्रिय रूप से क्वेर किया जा रहा है।

    • GridVis_EnMs - [GridVis_EnMs] डेटाबेस में ढेर - बिना क्लस्टर इंडेक्स वाली टेबल हैं - जिन्हें सक्रिय रूप से क्वियर किया जा रहा है।

    • PROD77 - [PROD77] डेटाबेस में ढेर हैं - बिना क्लस्टर इंडेक्स वाली टेबल - जो सक्रिय रूप से क्वियर की जा रही हैं।

प्राथमिकता 150: प्रदर्शन :

  • विदेशी कुंजी पर भरोसा नहीं किया

    • babtec_prod - [babtec_prod] डेटाबेस में विदेशी कुंजियाँ हैं जो संभवतः अक्षम थीं, डेटा बदल दिया गया था, और फिर कुंजी को फिर से सक्षम किया गया था। बस इस कुंजी का उपयोग करने के लिए कुंजी को सक्षम करना पर्याप्त नहीं है - हमें CHECK CHECK CONSTRAINT पैरामीटर के साथ तालिका को बदलना होगा।

    • D3PR - [D3PR] डेटाबेस में विदेशी कुंजियाँ हैं जो संभवतः अक्षम थीं, डेटा को बदल दिया गया था, और फिर कुंजी को फिर से सक्षम किया गया था। बस इस कुंजी का उपयोग करने के लिए कुंजी को सक्षम करना पर्याप्त नहीं है - हमें CHECK CHECK CONSTRAINT पैरामीटर के साथ तालिका को बदलना होगा।

  • अव्यवस्थित अनुक्रमित के बिना निष्क्रिय टेबल

    • डी 3 डीआर - [डी 3 डीआर] डेटाबेस में ढेर - टेबल बिना क्लस्टर इंडेक्स के होते हैं - जिन्हें पिछले पुनरारंभ के बाद से क्वेर नहीं किया गया है। ये लापरवाही से पीछे छोड़ दिए गए बैकअप टेबल हो सकते हैं।

    • GridVis_EnMs - [GridVis_EnMs] डेटाबेस में ढेर - बिना क्लस्टर इंडेक्स के टेबल हैं - जिन्हें पिछले पुनरारंभ के बाद से देखा नहीं गया है। ये लापरवाही से पीछे छोड़ दिए गए बैकअप टेबल हो सकते हैं।

  • टेबल्स पर ट्रिगर babtec_prod - [babtec_prod] डेटाबेस में 26 ट्रिगर हैं।

प्राथमिकता 170: फ़ाइल कॉन्फ़िगरेशन :

  • सी ड्राइव पर सिस्टम डेटाबेस

    • मास्टर - मास्टर डेटाबेस में सी ड्राइव पर एक फ़ाइल है। सिस्टम ड्राइव को C ड्राइव पर डालने से सर्वर के दुर्घटनाग्रस्त होने का जोखिम अंतरिक्ष से बाहर चलने पर होता है।

    • मॉडल - मॉडल डेटाबेस में सी ड्राइव पर एक फ़ाइल है। सिस्टम ड्राइव को C ड्राइव पर डालने से सर्वर के दुर्घटनाग्रस्त होने का जोखिम अंतरिक्ष से बाहर चलने पर होता है।

    • msdb - msdb डेटाबेस में C ड्राइव पर एक फाइल है। सिस्टम ड्राइव को C ड्राइव पर डालने से सर्वर के दुर्घटनाग्रस्त होने का जोखिम अंतरिक्ष से बाहर चलने पर होता है।

प्राथमिकता 170: विश्वसनीयता :

  • अधिकतम फ़ाइल आकार सेट

    • D3PR - [D3PR] डेटाबेस फ़ाइल d3_data_01 में अधिकतम फ़ाइल आकार 61440MB है। यदि यह अंतरिक्ष से बाहर चला जाता है, तो डेटाबेस काम करना बंद कर देगा, भले ही ड्राइव स्थान उपलब्ध हो।

    • D3PR - [D3PR] डेटाबेस फ़ाइल d3_data_idx_01 में अधिकतम फ़ाइल आकार 61440MB है। यदि यह अंतरिक्ष से बाहर चला जाता है, तो डेटाबेस काम करना बंद कर देगा, भले ही ड्राइव स्थान उपलब्ध हो।

    • D3PR - [D3PR] डेटाबेस फ़ाइल d3_firm_01 में अधिकतम फ़ाइल आकार 61440MB है। यदि यह अंतरिक्ष से बाहर चला जाता है, तो डेटाबेस काम करना बंद कर देगा, भले ही ड्राइव स्थान उपलब्ध हो।

    • D3PR - [D3PR] डेटाबेस फ़ाइल d3_firm_idx_01 में अधिकतम फ़ाइल आकार 61440MB है। यदि यह अंतरिक्ष से बाहर चला जाता है, तो डेटाबेस काम करना बंद कर देगा, भले ही ड्राइव स्थान उपलब्ध हो।

    • D3PR - [D3PR] डेटाबेस फ़ाइल d3_log_01 में अधिकतम फ़ाइल आकार 61440MB है। यदि यह अंतरिक्ष से बाहर चला जाता है, तो डेटाबेस काम करना बंद कर देगा, भले ही ड्राइव स्थान उपलब्ध हो।

    • D3PR - [D3PR] डेटाबेस फ़ाइल d3_phys_01 में अधिकतम फ़ाइल आकार 61440MB है। यदि यह अंतरिक्ष से बाहर चला जाता है, तो डेटाबेस काम करना बंद कर देगा, भले ही ड्राइव स्थान उपलब्ध हो।

    • D3PR - [D3PR] डेटाबेस फ़ाइल d3_phys_idx_01 में अधिकतम फ़ाइल आकार 61440MB है। यदि यह अंतरिक्ष से बाहर चला जाता है, तो डेटाबेस काम करना बंद कर देगा, भले ही ड्राइव स्थान उपलब्ध हो।

    • D3PR - [D3PR] डेटाबेस फ़ाइल d3_sys_01 में अधिकतम फ़ाइल आकार 20480MB है। यदि यह अंतरिक्ष से बाहर चला जाता है, तो डेटाबेस काम करना बंद कर देगा, भले ही ड्राइव स्थान उपलब्ध हो।

    • D3PR - [D3PR] डेटाबेस फ़ाइल d3_usr_01 में अधिकतम फ़ाइल आकार 20480MB है। यदि यह अंतरिक्ष से बाहर चला जाता है, तो डेटाबेस काम करना बंद कर देगा, भले ही ड्राइव स्थान उपलब्ध हो।

    • D3PR - [D3PR] डेटाबेस फ़ाइल d3_wort_01 में अधिकतम फ़ाइल आकार 20480MB है। यदि यह अंतरिक्ष से बाहर चला जाता है, तो डेटाबेस काम करना बंद कर देगा, भले ही ड्राइव स्थान उपलब्ध हो।

    • D3PR - [D3PR] डेटाबेस फ़ाइल d3_wort_idx_01 में अधिकतम फ़ाइल आकार 20480MB है। यदि यह अंतरिक्ष से बाहर चला जाता है, तो डेटाबेस काम करना बंद कर देगा, भले ही ड्राइव स्थान उपलब्ध हो।

प्राथमिकता 200: सूचनात्मक :

  • बैकअप संपीड़न डिफ़ॉल्ट बंद - हाल ही में पूर्ण बैकअप बैकअप नहीं हुआ है, और सर्वर स्तर पर बैकअप संपीड़न चालू नहीं है। बैकअप संपीड़न SQL सर्वर 2008R2 और नए, मानक संस्करण में भी शामिल है। हम डिफ़ॉल्ट रूप से बैकअप संपीड़न को चालू करने की सलाह देते हैं ताकि एड-हॉक बैकअप संकुचित हो जाए।

  • Collation Latin1_General_CS_AS FINP है - उपयोगकर्ता डेटाबेस और tempdb के बीच टकराव का अंतर विशेष रूप से तब हो सकता है जब स्ट्रिंग मानों की तुलना की जा सकती है

  • Collation SQL_Latin1_General_CP1_CI_AS है - उपयोगकर्ता डेटाबेस और tempdb के बीच टकराव का अंतर विशेषकर स्ट्रिंग मानों की तुलना करते समय टकराव का कारण बन सकता है

    • DEMO77

    • PROD77

  • लिंक्ड सर्वर कॉन्फ़िगर किया गया - BWIN2 \ INFOR लिंक सर्वर के रूप में कॉन्फ़िगर किया गया है। अपने सुरक्षा कॉन्फ़िगरेशन की जाँच करें क्योंकि यह sa से कनेक्ट हो रहा है, क्योंकि जो भी उपयोगकर्ता इसे क्वेरी करता है, उसे व्यवस्थापक-स्तर की अनुमति मिल जाएगी।

प्राथमिकता 200: निगरानी :

  • विफलता के बिना एजेंट नौकरियां

    • कार्य syspolicy_purge_history विफल होने पर किसी ऑपरेटर को सूचित करने के लिए सेट नहीं किया गया है।

    • यदि कोई ऑपरेटर विफल होता है तो उसे सूचित करने के लिए job upd_durchpreis_monatl की स्थापना नहीं की गई है।

    • यदि कोई ऑपरेटर विफल होता है, तो उसे सूचित करने के लिए job upd_fertmengen_woche की स्थापना नहीं की गई है।

    • कार्य upd_liegezeit_monatl एक ऑपरेटर को सूचित करने के लिए सेट नहीं किया गया है अगर यह विफल रहता है।

    • कार्य upd_vertreter_diff किसी ऑपरेटर को सूचित करने के लिए सेट नहीं किया गया है यदि वह विफल रहता है।

    • यदि कोई ऑपरेटर विफल होता है तो उसे सूचित करने के लिए UPDATE_CONNECT_IK की स्थापना नहीं की गई है।

    • काम Wartung.Cleanup किसी ऑपरेटर को सूचित करने के लिए सेट नहीं किया गया है यदि वह विफल रहता है।

    • नौकरी Wartung.DBCC चेक DB एक ऑपरेटर को सूचित करने के लिए सेट नहीं किया गया है अगर यह विफल रहता है।

    • काम Wartung.Index neu erstellen एक ऑपरेटर को सूचित करने के लिए सेट नहीं किया गया है अगर यह विफल रहता है।

    • काम Wartung.Statistiken aktualisieren किसी ऑपरेटर को सूचित करने के लिए सेट नहीं किया गया है यदि वह विफल रहता है।

    • कार्य Wartung.Transactionlog बैकअप विफल होने पर किसी ऑपरेटर को सूचित करने के लिए सेट नहीं किया गया है।

    • काम Wartung.Vollbackup SystemDB एक ऑपरेटर को सूचित करने के लिए सेट नहीं किया गया है अगर यह विफल रहता है।

    • काम Wartung.Vollbackup UserDB एक ऑपरेटर को सूचित करने के लिए सेट नहीं किया गया है अगर यह विफल रहता है।

  • भ्रष्टाचार के लिए कोई अलर्ट - SQL सर्वर एजेंट अलर्ट 823, 824 और 825 त्रुटियों के लिए मौजूद नहीं हैं। ये तीन त्रुटियां आपको शुरुआती हार्डवेयर विफलता के बारे में सूचना दे सकती हैं। उन्हें सक्षम करने से आप बहुत सारे दिल टूटने से बच सकते हैं।

  • सेव 19-25 के लिए कोई अलर्ट - SQL सर्वर एजेंट अलर्ट 25 के माध्यम से गंभीरता के स्तर 19 के लिए मौजूद नहीं हैं। ये कुछ बहुत ही गंभीर SQL सर्वर त्रुटियाँ हैं। यह जानते हुए कि ये हो रहे हैं, आपको तेज़ी से त्रुटियों से उबरने दे सकते हैं।

  • सभी अलर्ट कॉन्फ़िगर नहीं किए गए - सभी SQL सर्वर एजेंट अलर्ट कॉन्फ़िगर नहीं किए गए हैं। यह एक स्वतंत्र, आसान तरीका है कि भ्रष्टाचार, नौकरी की विफलता, या प्रमुख परिणामों के बारे में सूचना प्राप्त करने से पहले ही निगरानी प्रणाली इसे उठा लेती है।

प्राथमिकता 200: गैर-डिफ़ॉल्ट सर्वर कॉन्फ़िगरेशन :

  • एजेंट XP - यह sp_configure विकल्प बदल दिया गया है। इसका डिफ़ॉल्ट मान 0 है और इसे 1 पर सेट किया गया है।

  • डेटाबेस मेल XPs - यह sp_configure विकल्प बदल दिया गया है। इसका डिफ़ॉल्ट मान 0 है और इसे 1 पर सेट किया गया है।

  • डिफ़ॉल्ट पूर्ण पाठ भाषा - यह sp_configure विकल्प बदल दिया गया है। इसका डिफ़ॉल्ट मान 1033 है और इसे 1031 पर सेट किया गया है।

  • डिफ़ॉल्ट भाषा - इस sp_configure विकल्प को बदल दिया गया है। इसका डिफ़ॉल्ट मान 0 है और इसे 1 पर सेट किया गया है।

  • filestream access level - यह sp_configure विकल्प बदल दिया गया है। इसका डिफ़ॉल्ट मान 0 है और इसे 1 पर सेट किया गया है।

  • समानता की अधिकतम डिग्री - इस sp_configure विकल्प को बदल दिया गया है। इसका डिफ़ॉल्ट मान 0 है और इसे 4 पर सेट किया गया है।

  • अधिकतम सर्वर मेमोरी (MB) - यह sp_configure विकल्प बदल दिया गया है। इसका डिफ़ॉल्ट मान 2147483647 है और इसे 115000 पर सेट किया गया है।

  • मिन सर्वर मेमोरी (MB) - यह sp_configure विकल्प बदल दिया गया है। इसका डिफ़ॉल्ट मान 0 है और इसे 10000 पर सेट किया गया है।

  • दूरस्थ व्यवस्थापक कनेक्शन - यह sp_configure विकल्प बदल दिया गया है। इसका डिफ़ॉल्ट मान 0 है और इसे 1 पर सेट किया गया है।

प्राथमिकता 200: प्रदर्शन :

  • समानता के लिए लागत सीमा - 5 पर सेट करें, इसका डिफ़ॉल्ट मूल्य। इस sp_configure सेटिंग को बदलना CXPACKET वेट को कम कर सकता है।

  • स्नैपशॉट बैकपैक आवर्ती - 9 स्नैपशॉट दिखने वाले बैकअप पिछले दो हफ्तों में हुए हैं, जो दर्शाता है कि आईओ मुक्त हो सकता है।

प्राथमिकता 210: गैर-डिफ़ॉल्ट डेटाबेस कॉन्फ़िगरेशन :

  • कमिटेड स्नैपशॉट अलगाव पढ़ें - यह डेटाबेस सेटिंग डिफ़ॉल्ट नहीं है।

    • D3PR

    • FINP

  • पुनरावर्ती ट्रिगर सक्षम - यह डेटाबेस सेटिंग डिफ़ॉल्ट नहीं है।

    • DEMO77

    • PROD77

  • स्नैपशॉट अलगाव सक्षम FINP - यह डेटाबेस सेटिंग डिफ़ॉल्ट नहीं है।

प्राथमिकता 240: प्रतीक्षा आँकड़े :

  • 1 - ASYNC_NETWORK_IO - वेट के 225.9 घंटे, 143.5 मिनट औसत प्रतीक्षा समय प्रति घंटे, 0.2% सिग्नल प्रतीक्षा, 2146022 प्रतीक्षा कार्य, 378.9 एमएस औसत प्रतीक्षा समय।

  • 2 - CXPACKET - 43.1 घंटे प्रतीक्षा, 27.4 मिनट औसत प्रतीक्षा समय प्रति घंटा, 1.5% सिग्नल प्रतीक्षा, 32608391 प्रतीक्षा कार्य, 4.8 ms औसत प्रतीक्षा समय।

प्राथमिकता 250: सूचनात्मक :

  • SQL सर्वर NT सेवा खाते के अंतर्गत चल रहा है

    • मैं NT सेवा \ MSSQL $ INFOR के रूप में चल रहा हूं। काश मेरे पास इसके बजाय एक सक्रिय निर्देशिका सेवा खाता होता।

    • मैं NT सेवा \ SQLAgent $ INFOR के रूप में चल रहा हूं। काश मेरे पास इसके बजाय एक सक्रिय निर्देशिका सेवा खाता होता।

प्राथमिकता 250: सर्वर जानकारी :

  • डिफ़ॉल्ट ट्रेस सामग्री - डिफ़ॉल्ट ट्रेस में 3 सितंबर 2017 8:34 PM और Okt 5 2017 12:50 PM के बीच 760 घंटे का डेटा है। डिफ़ॉल्ट ट्रेस फाइलें इसमें स्थित हैं: C: \ Program Files \ Microsoft SQL Server \ MSSQL13.INFOR \ MSSQL / लॉग

  • ड्राइव सी स्पेस - 21308.00MB C ड्राइव पर मुफ्त

  • ड्राइव डी स्पेस - डी ड्राइव पर 280008.00MB मुफ्त
  • ड्राइव ई स्पेस - 281618.00MB ई ड्राइव पर मुफ्त
  • ड्राइव एफ स्पेस - एफ ड्राइव पर 60193.00MB मुफ्त

  • हार्डवेयर - तार्किक प्रोसेसर: 4. भौतिक मेमोरी: 128 जीबी।

  • हार्डवेयर - NUMA कॉन्फ़िगरेशन - नोड: 0 स्थिति: ऑनलाइन ऑनलाइन अनुसूचक: 4 ऑफ़लाइन अनुसूचक: 0 प्रोसेसर समूह: 0 मेमोरी नोड: 0 मेमोरी VAS आरक्षित GB: 281

  • सर्वर लास्ट रिस्टार्ट - Okt 1 2017 2:21 PM

  • सर्वर का नाम - BWINPDB \ INFOR

  • सेवाएं

    • सेवा: SQL सर्वर (INFOR) सेवा खाता NT Service \ MSSQL $ INFOR के अंतर्गत चलता है। अंतिम स्टार्टअप समय: ओकट 1 2017 2:22 बजे। स्टार्टअप प्रकार: स्वचालित, वर्तमान में चल रहा है।

    • सेवा: SQL सर्वर-एजेंट (INFOR) सेवा खाता NT Service \ SQLAgent $ INFOR के अंतर्गत चलता है। अंतिम स्टार्टअप समय: नहीं दिखाया गया है। स्टार्टअप प्रकार: स्वचालित, वर्तमान में चल रहा है।

  • SQL सर्वर लास्ट रिस्टार्ट - Okt 1 2017 2:22 PM

  • SQL सर्वर सेवा - संस्करण: 13.0.4001.0। पैच स्तर: SP1। संस्करण: मानक संस्करण (64-बिट)। हमेशा सक्षम: 0. हमेशा की स्थिति: 2

  • वर्चुअल सर्वर - प्रकार: (HYPERVISOR)

  • विंडोज संस्करण - आप विंडोज का एक बहुत ही आधुनिक संस्करण चला रहे हैं: सर्वर 2012R2 युग, संस्करण 6.3

प्राथमिकता 254: रुंडेट :

  • कैप्टन का लॉग: कुछ और कुछ को छोड़ दें ...

संपादित करें:

मैं पहले ही अध्ययन कर चुका हूं कि vmware के साथ sql सर्वर स्थापित करने के बारे में सर्वोत्तम अभ्यास मार्गदर्शिकाएँ हैं, और हमने इसे इस पेपर के अनुसार निर्धारित किया है। हालाँकि, हाइपरथ्रेडिंग सक्रिय नहीं है और NUMA vmware होस्ट पर सक्रिय नहीं है। हालांकि SQL सर्वर NUMA पर सेट है।

संपादित करें:

मैंने 50 के समानांतर समानता के लिए थ्रेसहोल्ड स्थापित करने के बाद RECONFIGURE जारी किया है, मेरी MAXDOP सेटिंग भी कॉन्फ़िगर नहीं की गई है।

मैंने हमारे vmware व्यवस्थापक के साथ भी जाँच की, ऐसा लगता है जैसे मुझे गलत जानकारी दी गई थी। हमारे सीपीयू 2.6GHz नहीं 4.6 GHz पर सेट हैं। मैंने वह जानकारी ठीक कर ली है।

संपादित करें:

हमने इस vmwarekb और गाइड के अनुसार कुछ नेटवर्क सेट करने का प्रयास किया । हमने VM में 4 और कोर भी जोड़े। सीपीयू उपयोग वही रहा।

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें


पृष्ठभूमि की जानकारी के लिए धन्यवाद। यहाँ वर्णित के रूप में sp_Blitz चलाकर शुरू करें और अपने प्रश्न में इसे चिपकाएँ
ब्रेंट ओजर

@BrentOzar, मैंने अपनी पोस्ट में sp_blitz का परिणाम जोड़ा
Emptyslot

3
ठीक है, बुरी खबर: जवाब अभी भी वही है जो आपको मिला था। ASYNC_NETWORK_IO का अर्थ है कि SQL सर्वर ने क्वेरी परिणामों को संसाधित करना समाप्त कर दिया है, और यह परिणाम को पचाने के लिए पाइप के दूसरे छोर पर मशीन पर प्रतीक्षा कर रहा है। मूल उत्तर देखें: dba.stackexchange.com/a/186602/426
ब्रेंट ओजर

@Emptyslot, सुनिश्चित करें कि VMWare सर्वोत्तम प्रथाओं पर SQL सर्वर का पालन किया जाता है: vmware.com/content/dam/digitalmarketing/vmware/en/pdf/solutions/…
डैन गुज़मैन

क्या आप जांच सकते हैं कि पावर प्लान उच्च प्रदर्शन पर सेट है या डिफ़ॉल्ट (संतुलित) नहीं है। मैंने कई मुद्दों को डिफ़ॉल्ट होने के कारण देखा है।
परिजन शाह

जवाबों:


18

जैसा कि पिछली बार आपने यह सवाल पूछा था , आपका शीर्ष प्रतीक्षा ASYNC_NETWORK_IO है। SQL सर्वर क्वेरी परिणामों की अगली पंक्ति को पचाने के लिए पाइप के दूसरे छोर पर मशीन के इंतजार में बैठा है।

मुझे यह जानकारी sp_Blitz की प्रतीक्षा के आँकड़े परिणामों से मिली है (जो इसे चिपकाने के लिए धन्यवाद):

1 - ASYNC_NETWORK_IO - वेट के 225.9 घंटे, 143.5 मिनट औसत प्रतीक्षा समय प्रति घंटे, 0.2% सिग्नल प्रतीक्षा, 2146022 प्रतीक्षा कार्य, 378.9 एमएस औसत प्रतीक्षा समय।

सीपीयू थ्रेड्स की समस्या निवारण के लिए मत जाओ - यह संबंधित नहीं है। अपने प्राथमिक प्रतीक्षा प्रकार और उन चीजों पर ध्यान केंद्रित करें जो उस प्रतीक्षा प्रकार का कारण बनें।

इसके आगे के निवारण के लिए, sp_WhoIsActive या sp_BlitzFirst (अस्वीकरण: मैं उस के लेखकों में से एक हूं) को चलाऊं - यह दोनों वर्तमान में चल रहे प्रश्नों को सूचीबद्ध करेगा। प्रतीक्षा जानकारी कॉलम देखें, ASYNC_NETWORK_IO के लिए प्रतीक्षा कर रहे प्रश्नों को ढूंढें, और उन एप्लिकेशन और सर्वर को देखें, जिनसे वे चल रहे हैं।

वहाँ से, आप कोशिश कर सकते हैं:

  • यह देखने के लिए कि क्या उन ऐप सर्वरों को कम किया गया है (जैसे यदि वे सीपीयू पर अधिकतम हो गए हैं, या डिस्क पर पेजिंग कर रहे हैं) और उन्हें ट्यून करें
  • ऐप डेवलपर्स के साथ यह देखने के लिए कि क्या वे परिणामों पर पंक्ति-दर-पंक्ति प्रसंस्करण कर रहे हैं (जैसे कि SQL सर्वर से वापस आने वाली प्रत्येक पंक्ति के लिए, ऐप बंद हो जाता है और परिणामों की अगली पंक्ति के लिए पूछने से पहले कुछ प्रसंस्करण करता है)
  • कम डेटा का चयन करने के लिए ऐप डेवलपर्स के साथ काम करना (जैसे कम पंक्तियों या कम स्तंभों के लिए यदि उन्हें सभी डेटा की आवश्यकता नहीं है - कभी-कभी आप इसे देखते हैं जब लोग गलती से एक SELECT * करते हैं और ज़रूरत से ज़्यादा डेटा वापस लाते हैं, या वे माँगते हैं सभी पंक्तियों को जब उन्हें केवल शीर्ष 1000 की आवश्यकता होती है)

Sp_WhoIsActive के साथ अपडेट करें - आपके द्वारा पोस्ट किए गए sp_WhoIsActive स्क्रीनशॉट में, आपको कुछ क्वेरी मिली हैं जो ASYNC_NETWORK_IO पर प्रतीक्षा कर रही हैं। उन लोगों के लिए, उपरोक्त निर्देशों को देखें।

शेष प्रश्नों में, sp_WhoIsActive के "स्थिति" कॉलम को देखें - उनमें से अधिकांश "सो" रहे हैं। " इसका मतलब है कि वे बिल्कुल काम नहीं कर रहे हैं - वे अपनी अगली कमांड भेजने के लिए पाइप के दूसरे छोर पर मौजूद ऐप्स का इंतज़ार कर रहे हैं। उनके पास लेन-देन खुला है ("open_tran_count" कॉलम देखें) लेकिन एक स्लीपिंग लेनदेन को गति देने के लिए SQL सर्वर कुछ भी नहीं कर सकता है। ये प्रश्न चालीस मिनट से अधिक समय से खुले हैं (sp_WhoIsActive में पहला कॉलम। वे अभी कुछ नहीं कर रहे हैं। आपको उन लोगों को अपने लेनदेन करने और अपने कनेक्शन बंद करने के लिए मिल जाएगा। यह एक प्रदर्शन ट्यूनिंग मुद्दा नहीं है।

हम यहां जो कुछ भी देख रहे हैं वह एक ऐसे परिदृश्य की ओर इशारा करता है, जहां हम ऐप पर प्रतीक्षा कर रहे हैं।


आपके उत्तर के लिए धन्यवाद। हमने ऐप सर्वर की जाँच की है, वे कम नहीं हैं। हम आपके अन्य बिंदुओं की जाँच कर रहे हैं। ऐसे बहुत से कथन हैं जो SELECT alias की तरह कुछ करते हैं। * तालिका से अन्य उपनाम, जहाँ alias.clumn = value और CreateDate> = SomeDate। जो सुंदर नहीं है, लेकिन वे वही SQL स्टेटमेंट हैं जो हमारे ERP सिस्टम के अंतिम संस्करण (Infor COM 7.1) और oracle 9g के साथ 'सुचारू रूप से' चलते हैं। MS SQL सर्वर और Infor COM 7.1 के साथ खराब क्यों होगा। ऐसे बयान नहीं हैं जो किसी भी तरह से हमारे साथ खड़े हों। हमारा एरप कंसल्टेंट उन सभी की जांच करता है जो मैं उसे भेजता हूं।
Emptyslot

1
ठीक है, आपको "आगे इसे परेशान करने के लिए" चिह्नित अनुभाग के साथ शुरू करने की आवश्यकता है - यह अगले चरण है। मैं इसे और अधिक स्पष्ट नहीं कर सकता। धन्यवाद!
ब्रेंट ओजर

1
वही मैं कर रहा हूं। मैं उन प्रश्नों को भेज रहा हूं जो दो प्रक्रियाएं हमारे सलाहकार को दिखाती हैं।
Emptyslot

@Emptyslot अच्छी तरह से, आप जानते हैं कि यह कैसा है, उन सलाहकारों पर भरोसा नहीं कर सकते। ;-)
ब्रेंट ओजर

5
@Emptyslot - यह आखिरी बार होगा जब तक मैं जवाब नहीं दूंगा जब तक आप उस सामान में नहीं डालते हैं जो मैंने अब तक तीन बार पूछा है: sp_WhoIsActive या sp_BlitzFirst चलाएं (अस्वीकरण: मैं उस के लेखकों में से एक हूं - दोनों की सूची देगा वर्तमान में जो क्वेरीज़ चल रही हैं। इसमें आपका SSMS कनेक्शन भी शामिल होगा, और यह दिखाएं कि यह किसकी प्रतीक्षा कर रहा है। कृपया समझें कि मैं आपकी मदद करने के लिए यहां अपना समय दे रहा हूं, और मैं विनम्र रहा हूं, लेकिन विनम्रता यहां रुक जाती है: ऐसा लगता है कि मैं आपको समय से पहले बता रहा हूं।
ब्रेंट ओजर

2

मेरे खुद के सवाल का जवाब देने के लिए। ASYNC_NETWORK_IO वास्तव में वास्तविक समस्या नहीं थी। लेटेंसी सेंसिटिव वर्कलोड के लिए इस गाइड का अनुसरण करके हमने अपनी प्रदर्शन समस्या को ठीक किया:

वीएसएफईआर वीएम में लेटेंसी-सेंसिटिव वर्कलोड के प्रदर्शन ट्यूनिंग के लिए सर्वोत्तम अभ्यास

हमने अपने सिस्टम पर यहां लागू की गई सेटिंग्स को पीले रंग से चिह्नित किया है:

यहाँ छवि विवरण दर्ज करें

मुझे लगता है कि सबसे अधिक प्रभाव के साथ सेटिंग थे नुमा विन्यास और स्थापित करने विलंबता संवेदनशीलता को उच्च । वीएम के लिए भौतिक सीपीयू कोर और रैम को आवंटित करने के लिए दोनों की आवश्यकता होती है।

हमने VM को और कोर भी जोड़ा है अब हमारे SQL सर्वर लाइसेंस को मानक से एंटरप्राइज़ में अपग्रेड करने की आवश्यकता है।


1
अपना उत्तर विवरण साझा करने के लिए धन्यवाद। हम SQL को Vsphere में भी चला रहे हैं और इन विकल्पों की समस्याओं की समीक्षा करने की आवश्यकता हो सकती है। कृपया इस उत्तर को बनाए रखें। क्षमा करें कि किसी ने आपको पसंद किया +1
स्टिंग

DidmOu ​​केवल SQL सर्वर या भी / केवल आवेदन के लिए के लिए इन धुन?
Eckes

हमने उस सेटिंग के साथ ऐप सर्वर को भी ट्यून किया। हम अपने वर्चुअल डेस्कटॉप को मध्य / सामान्य करने के लिए विलंबता सेटिंग के साथ ट्यून करने पर भी विचार कर रहे हैं। मेरा अनुमान है कि इससे हमारी समस्याओं का समाधान async_network_io
Emptyslot

1

ऐसा लग रहा है कि Windows आपके ऐप की घड़ी की गति को 4.6Ghz CPU कोर की तरह 2.6Ghz की रिपोर्ट कर रहा है ... मैं सीपीयू-जेड जैसा एक टूल चलाऊंगा, यह जांचने के लिए कि वे वास्तव में किस गति से चल रहे हैं, और फिर पावर सेटिंग्स को बदलकर देखें किसी भी बिजली की बचत सेटिंग्स को अक्षम करने के लिए विंडोज और BIOS / प्रबंधन ओएस दोनों जो कोर को कम गति से थ्रॉटलिंग कर सकते हैं।


मुझे गलत जानकारी दी गई, सीपीयू कोर हर समय 2.6 गीगाहर्ट्ज पर थे। कोई भी बिजली बचत सेटिंग सक्रिय नहीं है, न तो मेजबान पर और न ही अतिथि पर।
इम्पीथलॉट

मैं T एक्टिव टेबल्स विदाउट क्लस्टर्ड इंडेक्स ’की चेतावनी में अधिक बारीकी से देखूंगा। यदि आपके पास बड़े ढेर हैं जो सक्रिय रूप से प्रभावित हो रहे हैं जो प्रदर्शन को बुरी तरह से मार देंगे ...
बुझाए

दुर्भाग्य से केवल एक तालिका थी जिसमें कोई क्लस्टर सूचकांक नहीं है। इसके दो स्तंभ हैं, जिनमें से एक NVARCHAR है और दूसरा डेटाटाइप इमेज का है। पहले कॉलम के लिए इसमें पहले से ही एक गैर-विशिष्ट यूनिक इंडेक्स था, मैंने एक क्लस्टर इंडेक्स भी जोड़ा। लेकिन इससे बहुत मदद नहीं मिली।
Emptyslot
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.