एक नए सर्वर पर बदतर प्रदर्शन


11

हम एक समर्पित सर्वर (सिंगल क्वाड-कोर, 6 जीबी रैम) पर हैं और एक नए समर्पित सर्वर (2x हेक्स-कोर, 32 जीबी रैम) की ओर बढ़ रहे हैं। दोनों विंडोज सर्वर 2008, SQL सर्वर 2008 हैं। नए सर्वर पर प्रदर्शन पुराने, धीमे सर्वर की तुलना में थोड़ा खराब है।

परीक्षण में, हमारा ASP.NET एप्लिकेशन 10 - 20% धीमा चलता है। सांख्यिकी IO और सांख्यिकी टाइम के साथ व्यक्तिगत महंगे प्रश्नों को चलाना नए सर्वर पर 10 से 20% अधिक समय दिखाता है। SQL क्वेरी प्रोफ़ाइल महंगे प्रश्नों पर उच्च CPU उपयोग दिखाता है।

नए सर्वर पर टास्क मैनेजर sqlserver.exe दिखाता है कि 22 जीबी रैम की खपत हो रही है, लेकिन सीपीयू मान हमेशा बहुत कम रहता है।

मैंने सभी आँकड़े, पुनर्निर्माण या पुनर्गठित अनुक्रमित, आदि को अद्यतन किया है। निष्पादन योजनाओं को इस बिंदु पर नए सर्वर पर संग्रहीत किया जाना चाहिए, जिसे मैंने परीक्षण किया है। यदि कोई अनुपलब्ध अनुक्रमणिका हैं (मुझे नहीं लगता कि वहाँ हैं) वे पुराने और नए सर्वरों को समान रूप से प्रभावित करते हैं। नए के पास पुराने पर समान डेटा का एक बैकअप है।

मुझे उम्मीद थी कि नए सर्वर पर प्रदर्शन बेहतर होगा, लेकिन अधिक चिंता का विषय भार है। यदि पुराना सर्वर लोड के तहत भी बेहतर प्रदर्शन कर रहा है, तो क्या होगा जब इस नए, थोड़ा खराब सर्वर को उस लोड को लेना होगा?

मुझे यहाँ और क्या याद आ रहा है?

संपादित करें: MAXDOP 6 पर सेट है।

पुराने सर्वर में एक ही भौतिक ड्राइव (RAID 10) पर OS, डेटाबेस और tempdb है। कुल 4 15k 3 जीबी / एस 3.5 इंच एसएएस। नए सर्वर में तीन ड्राइव सेट हैं: OS 1 पर OS 1, RAID 10 पर डेटाबेस, RAID 5 पर tempdb 5. कुल 9 15K 6 Gb / s 2.5 Inch SAS।

पुराने सर्वर में 1 x Intel Xeon E5620 2.40 GHz क्वाड-कोर 8 थ्रेड्स (w H / T) है। नए सर्वर में 2 x Intel Xeon E5-2640 2.5 GHz सिक्स -कोर 12 थ्रेड्स (w H / T) हैं।

संपादित 2: यहाँ अंतिम विश्लेषण है:

शक्ति योजना संतुलित थी, उच्च प्रदर्शन नहीं। उस पर स्विच किया।

Tempdb एक RAID 5 पर था, RAID 10. नहीं। एक और HD जोड़ा दो शारीरिक रूप से अलग RAID 10 विन्यास बनाने के लिए, एक tempdb के लिए और दूसरा सब कुछ के लिए।

वायरस स्कैनिंग से SQL-संबंधित फ़ाइलों (mdf, ldf, ndf, bak) को छोड़ दिया।

नए सर्वर के लिए कदम के बाद सभी अनुक्रमित पुनर्निर्माण। वे बहुत ही खंडित थे - संभवतः बैकअप, कॉपी, रिस्टोर के परिणामस्वरूप?

और मुझे महसूस हुआ कि प्रोसेसर जंप इतना बड़ा नहीं था। क्वेरीज़ बहुत तेज़ी से निष्पादित नहीं हो रही हैं, लेकिन अधिक प्रोसेसर, अधिक कोर, अधिक रैम के साथ, हम अधिक स्केलेबल होंगे।


O / S पावर प्लान के अलावा संबंधित BIOS सेटिंग्स भी हो सकती हैं: stackoverflow.com/a/27807572/538763
crokusek 19

जवाबों:


11

RAID 5 छापे की तुलना में धीमा है, विशेष रूप से लिखने-भारी कार्यभार के लिए। जैसे, यह आमतौर पर SQL सर्वर के लिए अनुशंसित नहीं है और निश्चित रूप से tempdb के लिए नहीं है। यह अकेले प्रदर्शन अंतर को आसानी से समझा सकता है।

मेरी सिफारिश होगी कि टेम्पर्डब को 10 से छापा जाए।


4

यह एक बहुत ही सामान्य समस्या है, इसलिए विशिष्ट सलाह देना कठिन है। लेकिन, अगर मैं इस स्थिति में था, तो मैं बुनियादी बातों से शुरू करूंगा, सबसे महंगी प्रश्नों की जांच करूंगा। क्या कार्यक्षमता अधिक समय ले रही है? आँकड़ों के साथ प्रश्नों को चलाने में सबसे अधिक समय लगता है क्या? एक बार जब आप अपना ध्यान थोड़ा कम कर लेते हैं, तो आप पुराने सर्वर से चीजों की तुलना कर सकते हैं। इसके अलावा, कुछ जांचने के लिए, यह सुनिश्चित करना है कि दोनों सर्वर एक ही पैच स्तर (एसक्यूएल और विंडोज) पर हैं।


3

ठीक है, आप अपनी हार्ड डिस्क और आपके पास टेम्पर्ड फ़ाइलों की संख्या के बारे में कुछ नहीं कहते हैं। एक सामान्य सिफारिश है कि tempdbs के nr = 32 तक कोर की संख्या, यह सुनिश्चित करने के लिए एक स्विच भी है कि अस्थायी dbs समान रूप से उपयोग किया जाता है।

हालांकि indepth: http://www.sqlskills.com/BLOGS/PAUL/post/A-SQL-Server-DBA-myth-a-day-%281230%29-tempdb-should-always-have-one-data- फ़ाइल-प्रति-प्रोसेसर-core.aspx क्या आपने माइग्रेशन के दौरान टेबल और इंडेक्स के लिए पैकिंग भी बदल दी है? बैकअप और पुनर्स्थापना, अनुक्रमणिका (क्लस्टर किए गए सहित) पर एक अलग पैडिंग के लिए डिफ़ॉल्ट रूप से समाप्त हो सकते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.