2008-12-11 17 views
16

मैं एक नई मशीन पर SQL सर्वर 2005 की एक नई स्थापना की योजना बना रहा हूं, जिसे मुझे ऑर्डर करना है। मुझे पता है कि tempdb ट्यूनिंग SQL Server इंस्टेंस के प्रदर्शन के लिए बहुत महत्वपूर्ण है।एक नए सर्वर के लिए SQL सर्वर tempdb अनुकूलन युक्तियाँ?

मैंने पढ़ा है कि आपके पास सीपीयू (या कोर?) के रूप में कई tempdb फ़ाइलों को बनाने का सबसे अच्छा अभ्यास है। क्या वो सही है? क्या कोई अन्य सिफारिशें हैं, उदा। हार्डडिस्क/RAID सेटअप कॉन्फ़िगरेशन के लिए मुझे ध्यान देना चाहिए?

धन्यवाद!

उत्तर

6

अगर मुझे एक व्यक्ति को चुनना है जिसे मैं सर्वर को कॉन्फ़िगर करने के लिए सलाह के लिए भरोसा करता हूं, तो यह डेनी चेरी होगा। उन्होंने यह समझाते हुए एक लेख लिखा था।

http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1307255,00.html

+1

ग्रेट लेख,: आप सबसे तेजी से डिस्क पर इन फ़ाइलों को रखना चाहिए आप अधिक जानकारी के लिए

है आप यहाँ देख सकते हैं! – splattne

+8

मुझे उन साइटों से नफरत है जिन्हें एक लेख –

+4

पढ़ने के लिए पंजीकरण की आवश्यकता है, मैं पूरे लेख को नहीं पढ़ सकता क्योंकि मैं साइट के लिए पंजीकृत नहीं हूं, लेकिन पहले पैराग्राफ में एक आम मिथक है: "मानक उपयोगकर्ता डेटाबेस के साथ , यह अनुशंसा की जाती है कि आप प्रत्येक डेटाबेस के लिए प्रत्येक फाइल के लिए .25 से एक भौतिक फ़ाइल प्रति CPU कोर पर भौतिक फाइलों की संख्या निर्धारित करें। " यह सामान्य ऑब्जेक्ट आवंटन बाधा से बचने के लिए TempDB के लिए केवल सत्य है, उपयोगकर्ता डेटाबेस के लिए नहीं। http://blogs.msdn.com/b/psssql/archive/2007/02/21/sql-server-urban-legends-discussed.aspx –

2

जो मैंने पढ़ा है, उससे tempDB को अपनी भौतिक डिस्क (या सरणी) पर रखना सर्वोत्तम है। अधिकतम गति के लिए, आप एक RAID 0 सरणी डाल सकते हैं। हालांकि, अगर डिस्क में से एक विफल हो जाता है, तो डीबी सर्वर निष्क्रिय हो जाएगा। यदि आप अधिक अनावश्यकता चाहते हैं, तो इसे एक RAID 10 सरणी पर रखें। वास्तविक कुंजी इसे अन्य डेटाबेस से अलग कर रही है क्योंकि TempDB में बहुत अधिक गतिविधि हो सकती है।

कितनी दूर तुम जाओ वास्तव में सर्वर पर अन्य डेटाबेस पर निर्भर करता है और मैं CPU की संख्या के आधार पर एक से अधिक फ़ाइलों के बारे में कुछ भी नहीं सुना है कि क्या वे आदि अस्थायी तालिकाओं के साथ बहुत काम,

करना या कोर।

2

भी इस पोस्टिंग SQL Server Transaction Log RAID जो कि tempdb आसपास के मुद्दों में से कुछ पर छू लेती है सर्वर लेआउट पर एक चर्चा में शामिल है देखें।

31

यहां मैंने विभिन्न स्रोतों से खुद को शोध किया है।

tempdb प्रदर्शन को अनुकूलित करने के लिए भौतिक डिस्क कॉन्फ़िगरेशन, फ़ाइल कॉन्फ़िगरेशन, साथ ही डेटाबेस के भीतर कुछ सेटिंग्स पर ध्यान देना।

शारीरिक डिस्क विन्यास

tempdb अपने अपने समर्पित भौतिक डिस्क पर निवास करना चाहिए। यह SQL सर्वर पर वॉल्यूम के शेष से I/O लेन-देन को विभाजित करने की अनुमति देता है।

tempdb को एक नई डिस्क ड्राइव पर ले जाने के लिए, ALTER DATABASE का उपयोग करें। यह ऑपरेशन करने के लिए यह महत्वपूर्ण टी-एसक्यूएल कमांड है। माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 पुस्तकें ऑनलाइन में एक अच्छा उदाहरण प्रदान करता है। आलेख का नाम वैकल्पिक डाटाबेस (ट्रांजैक्ट-एसक्यूएल) है और विशिष्ट अनुभाग 'जी है। Tempdb को एक नए स्थान पर ले जाना। '

tempdb एक बहुत ही उच्च-लेखन डेटाबेस है। तो, RAID 5 सरणी इसके लिए उचित जगह नहीं है। आपको tempdb या तो RAID 0 या RAID 10 सरणी पर रखना चाहिए क्योंकि उन्हें उच्च-लेखन अनुप्रयोगों के लिए अनुकूलित किया गया है। यदि आप tempdb के लिए प्रत्येक भौतिक डेटाबेस फ़ाइल के लिए अतिरिक्त RAID 0 या RAID 10 arrays का भुगतान कर सकते हैं, तो आपको प्रदर्शन में वृद्धि होगी।

डेटाबेस फ़ाइलें

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

डाटाबेस फ़ाइल आकार

tempdb डेटाबेस का आकार एक प्रणाली के प्रदर्शन को प्रभावित कर सकते हैं। उदाहरण के लिए, यदि tempdb के लिए परिभाषित आकार बहुत छोटा है, तो सिस्टम-प्रोसेसिंग लोड का हिस्सा हो सकता है जब आप SQL सर्वर के इंस्टेंस को पुनरारंभ करते समय वर्कलोड का समर्थन करने के लिए आवश्यक आकार में autogrowing tempdb के साथ लिया जाता है। आप tempdb डेटा और लॉग फ़ाइल के आकार को बढ़ाकर इस ओवरहेड से बच सकते हैं।

उत्पादन वातावरण में tempdb के लिए उचित आकार निर्धारित करना मौजूदा वर्कलोड और उपयोग की जाने वाली SQL सर्वर सुविधाओं सहित कई कारकों पर निर्भर करता है। माइक्रोसॉफ्ट की अनुशंसा है कि आप एक एसक्यूएल सर्वर परीक्षण वातावरण में निम्न कार्य प्रदर्शन से मौजूदा काम का बोझ का विश्लेषण: (! एक परीक्षण वातावरण में)

  1. सेट tempdb के लिए पर autogrow
  2. व्यक्तिगत प्रश्नों या वर्कलोड ट्रेस फ़ाइलों का निष्पादन करें और tempdb स्पेस उपयोग की निगरानी करें।
  3. इंडेक्स पुनर्निर्माण सूचकांक और मॉनिटर tempdb स्पेस जैसे इंडेक्स रखरखाव संचालन निष्पादित करें।
  4. अपने कुल वर्कलोड उपयोग की भविष्यवाणी करने के लिए पिछले चरणों से स्पेस-उपयोग मानों का उपयोग करें; अनुमानित समवर्ती गतिविधि के लिए इस मान को समायोजित करें, और फिर तदनुसार tempdb का आकार सेट करें। आप आगे अक्षम करने ऑटो अपडेट आँकड़ेद्वारा tempdb प्रदर्शन को बढ़ा सकते हैं, जो आपके लिए tempdb की बचत होगी

    Envir. Size DB Size (MB) Log Size (MB) 
        ----------- ------------ ------------- 
        Small    1024   256 
        Medium    5120   1024 
        Large    10024   2048 
    

    डाटाबेस सेटिंग्स

    :

tempdb के लिए न्यूनतम आकार सिफारिशें इस प्रकार हैं कुछ काम। आप स्वत: निर्माण आंकड़े विकल्प को झूठी पर भी सेट कर सकते हैं।

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

इष्टतम tempdb प्रदर्शन प्राप्त करने के लिए, Optimizing tempdb Performance में दिए गए दिशानिर्देशों और अनुशंसाओं का पालन करें।

tempdb उपयोग की निगरानी कैसे करें?

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

आप tempdb फ़ाइलों में इन सुविधाओं द्वारा उपयोग की जाने वाली डिस्क स्थान की निगरानी के लिए sys.dm_db_file_space_usage गतिशील प्रबंधन दृश्य का उपयोग कर सकते हैं। इसके अतिरिक्त, सत्र या कार्य स्तर पर tempdb में पृष्ठ आवंटन या विध्वंस गतिविधि की निगरानी करने के लिए, आप sys.dm_db_session_space_usage और sys.dm_db_task_space_usage गतिशील प्रबंधन दृश्यों का उपयोग कर सकते हैं।

इन विचारों का उपयोग बड़े प्रश्नों, अस्थायी तालिकाओं या तालिका चरों की पहचान करने के लिए किया जा सकता है जो बहुत सारी tempdb डिस्क स्पेस का उपयोग कर रहे हैं। ऐसे कई काउंटर भी हैं जिनका उपयोग tempdb में उपलब्ध खाली स्थान और tempdb का उपयोग करने वाले संसाधनों की निगरानी के लिए किया जा सकता है।

लिंक:

0

मैं 1/2 और 1/4 के बीच डेटा फ़ाइलों को बनाने के लिए * कोर की संख्या की सिफारिश करेंगे। लिंक के लिए धन्यवाद SQL Server tempdb configuration

+0

[यह आलेख] (http://cc.davelozinski.com/sql/increase-sql-server-tempdb-performance) आपके पास कोर की संख्या के आधार पर फ़ाइलों को बनाने पर भी एक अच्छा पठन है। –