हमारे विक्रेता अनुप्रयोग डेटाबेस बहुत TempDB गहन है।
SQL 2012 एंटरप्राइज़ SP3 चलाने वाले 40 कोर और 768GB रैम के साथ सर्वर वर्चुअल (VMWare) है।
TempDB सहित सभी डेटाबेस सैन में टियर 1 एसएसडी पर हैं। हमारे पास 10 tempdb डेटा फाइलें हैं, जिनमें से प्रत्येक 1GB तक बढ़ी हुई हैं और वे कभी भी ऑटो नहीं बढ़ती हैं। 70GB लॉग फ़ाइल के साथ भी। ट्रेस फ्लैग्स 1117 और 1118 पहले से ही सेट हैं।
sysinos_io_virtual_file_stats पिछले महीने में टेम्परेब डेटा और लॉग फ़ाइलों पर पढ़े / लिखे गए 50 से अधिक टेराबाइट्स दिखाता है, जिसमें 250 घंटे या 10 दिनों का संचयी io_stall है।
हम पहले से ही पिछले 2 वर्षों में विक्रेता के कोड और एसपी को ट्यून कर चुके हैं।
अब, हम रैम ड्राइव पर tempdb फाइल रखने की सोच रहे हैं क्योंकि हमारे पास एक टन मेमोरी है। जब से सर्वर रिबूट किया जाता है तो tempdb नष्ट हो जाता है / फिर से तैयार हो जाता है, यह अस्थिर मेमोरी पर रखने के लिए एक आदर्श उम्मीदवार है जो सर्वर रिबूट होने पर भी फ्लश हो जाता है।
मैंने इसे कम वातावरण पर परीक्षण किया है और इसका परिणाम तेजी से क्वेरी समय में हुआ है, लेकिन सीपीयू उपयोग में वृद्धि हुई है, क्योंकि सीपीयू धीमी गति से ड्राइव करने के लिए और अधिक काम कर रहा है।
क्या किसी और ने उच्च ऑल्टेप उत्पादन प्रणाली में रैम पर अपना टेम्पर्डबेड रखा है? क्या कोई बड़ा नुकसान है? क्या कोई विक्रेता विशेष रूप से चुनने या बचने के लिए हैं?