हर बार जब कोई Oracle ® डेटाबेस डिस्क पर डेटा पढ़ता या लिखता है, तो डेटाबेस डिस्क इनपुट और आउटपुट (I/O) संचालन उत्पन्न करता है। कई सॉफ़्टवेयर अनुप्रयोगों का प्रदर्शन डिस्क I/O द्वारा सीमित होता है, और अनुप्रयोग जो I/O गतिविधि के पूरा होने की प्रतीक्षा में अधिकांश केंद्रीय प्रसंस्करण इकाई (CPU) समय व्यतीत करते हैं, I/O बाध्य होते हैं। I/O कैलिब्रेशन इस समस्या को हल करने में मदद करता है।
परिचय
एक ठोस I/O सबसिस्टम की स्थापना एक आवेदन के लिए बुनियादी ढांचे के निर्माण का एक अनिवार्य हिस्सा है। यदि I/O स्टैक में किसी भी घटक का सीमित प्रवाह है, तो यह I/O प्रवाह में सबसे कमजोर कड़ी बन जाता है। क्योंकि वास्तविक-विश्व वर्कलोड को आसानी से पुन:प्रस्तुत नहीं किया जा सकता है, I/O सबसिस्टम का सत्यापन हमेशा एक कठिन काम रहा है।
Oracle डेटाबेस की I/O कैलिब्रेशन सुविधा आपको स्टोरेज सबसिस्टम के प्रदर्शन का आकलन करने और यह निर्धारित करने में सक्षम बनाती है कि I/O प्रदर्शन समस्याएँ डेटाबेस या स्टोरेज सबसिस्टम के कारण हैं या नहीं। अन्य बाहरी I/O अंशांकन उपकरण के विपरीत जो I/O संचालन क्रमिक रूप से जारी करते हैं, Oracle डेटाबेस की I/Ocalibration सुविधा भंडारण मीडिया तक पहुंचने के लिए Oracle डेटा फ़ाइलों का उपयोग करके I/O संचालन को यादृच्छिक रूप से जारी करती है। यह ऐसे परिणाम उत्पन्न करता है जो डेटाबेस के वास्तविक प्रदर्शन से अधिक निकटता से मेल खाते हैं।
कैलिब्रेट I/O सुविधा DBMS_RESOURCE_MANAGER.CALIBRATE_IO()
नामक PL/SQL फ़ंक्शन पर आधारित है। . जब कैलिब्रेट I/O को लागू किया जाता है, तो यह निम्नलिखित विशेषताओं के साथ कार्यभार उत्पन्न करता है:
- I/O गहन, केवल-पढ़ने के लिए, यादृच्छिक I/O (db_block_size)
- बड़े-ब्लॉक (1 एमबी) अनुक्रमिक I/O कार्यभार
कैलिब्रेट I/O के परिणामों की निगरानी की जानी चाहिए और अपेक्षित थ्रूपुट दर (I/O सबसिस्टम का अधिकतम समग्र थ्रूपुट) से तुलना की जानी चाहिए। I/Ocalibration का उपयोग स्टोरेज सबसिस्टम के प्रदर्शन का मूल्यांकन करने और यह निर्धारित करने के लिए किया जा सकता है कि I/O प्रदर्शन समस्याएं डेटाबेस होस्टर स्टोरेज सबसिस्टम से उत्पन्न होती हैं या नहीं।
इस ब्लॉग में निम्नलिखित विषय शामिल हैं:
- I/O अंशांकन के लिए आवश्यक शर्तें
- I/O अंशांकन चल रहा है
- अंशांकन विचार
I/O अंशांकन के लिए पूर्वापेक्षाएँ
I/O कैलिब्रेशन चलाने से पहले, सुनिश्चित करें कि निम्नलिखित आवश्यकताओं को पूरा किया गया है:
- उपयोगकर्ता को
SYSDBA
दिया जाना चाहिए विशेषाधिकार। TIMED_STATISTICS
TRUE
. पर सेट होना चाहिए ।- एसिंक्रोनस I/O सक्षम होना चाहिए।
फ़ाइल सिस्टम का उपयोग करते समय, एसिंक्रोनस I/O को FILESYSTEMIO_OPTIONS
सेट करके सक्षम किया जा सकता है SETALL
. के लिए आरंभीकरण पैरामीटर ।
सिंक्रोनस I/O के साथ, जब ऑपरेटिंग सिस्टम को I/O अनुरोध सबमिट किया जाता है, तो ऑपरेशन पूरा होने तक लेखन प्रक्रिया अवरुद्ध हो जाती है। एसिंक्रोनसI/O के साथ, कॉलिंग प्रक्रिया अन्य अनुरोधों को अवरुद्ध किए बिना अपना काम जारी रखती है जो अभी भी निष्पादित हो रहे हैं।
सुनिश्चित करें कि निम्न SQL क्वेरी चलाकर एसिंक्रोनस I/O डेटा फ़ाइलों के लिए सक्षम है:
COL NAME FORMAT A50
SELECT NAME,ASYNCH_IO FROM V$DATAFILE F,V$IOSTAT_FILE I
WHERE F.FILE#=I.FILE_NO
AND FILETYPE_NAME='Data File';
निम्न छवि क्वेरी और परिणाम दिखाती है:
सेल कमांड परिणामों की सूची बनाएंनोट: डेटाबेस इंस्टेंस पर एक बार में केवल एक कैलिब्रेशन किया जा सकता है।
I/O कैलिब्रेशन चल रहा है
Oracle डेटाबेस की I/O अंशांकन सुविधा कोDBMS_RESOURCE_MANAGER.CALIBRATE_IO
का उपयोग करके एक्सेस किया जाता है प्रक्रिया। यह प्रक्रिया अधिकतम IOPS (I/O अनुरोध प्रति सेकंड) और MBPS (I/O की मेगाबाइट) निर्धारित करने के लिए डेटाबेस फ़ाइलों के लिए एक I/O गहन रीड-ओनली वर्कलोड (I/O संचालन के यादृच्छिक 1 एमबी से बना) जारी करती है प्रति सेकंड) जिसे स्टोरेज सबसिस्टम द्वारा बनाए रखा जा सकता है।
DBMS_RESOURCE_MANAGER.CALIBRATE_IO
के साथ I/O कैलिब्रेशन प्रक्रिया में निम्नलिखित चरण शामिल हैं:
-
प्रक्रिया सभी डेटाबेस इंस्टेंस से सभी डेटा फ़ाइलों के लिए यादृच्छिक डेटाबेस-ब्लॉक-आकार रीड (डिफ़ॉल्ट रूप से, 8 केबी) जारी करती है। यह चरण आउटपुट पैरामीटर (
max_iops
) में प्रति सेकंड अधिकतमI/O ऑपरेशन (IOPS) प्रदान करता है ) कि डेटाबेस बनाए रख सकता है।max_iops
. का मान ऑनलाइन लेनदेन प्रसंस्करण (ओएलटीपी) डेटाबेस के लिए एक महत्वपूर्ण मीट्रिक है। Theoutput पैरामीटरactual_latency
इस कार्यभार के लिए औसत विलंबता प्रदान करता है। आप इनपुट पैरामीटरmax_latency
. के साथ विशिष्ट लक्ष्य विलंबता निर्दिष्ट कर सकते हैं जिसकी आपको आवश्यकता है , जो डेटाबेस-ब्लॉक-आकार के I/O अनुरोधों के लिए मिलीसेकंड में अधिकतम सहनीय विलंबता निर्दिष्ट करता है। -
प्रक्रिया सभी डेटाबेस इंस्टेंस से सभी डेटा फ़ाइलों को यादृच्छिक 1 एमबी पढ़ता है। यह चरण आउटपुट पैरामीटर देता है
max_mbps
, जो I/O के अधिकतम मेगाबाइट प्रति सेकंड (MBPS) को निर्दिष्ट करता है जिसे डेटाबेस बनाए रख सकता है। यह डेटा वेयरहाउस के लिए एक महत्वपूर्ण मीट्रिक है।
यदि उपयोगकर्ता num_physical_disks
. प्रदान करता है तो अंशांकन अधिक कुशलता से चलता है इनपुट पैरामीटर, जो डेटाबेस स्टोरेज सिस्टम में भौतिक डिस्क की अनुमानित संख्या निर्दिष्ट करता है।
I/O वर्कलोड चलाने से होने वाले ओवरहेड के कारण, I/O कैलिब्रेशन केवल तभी किया जाना चाहिए जब डेटाबेस निष्क्रिय हो, या ऑफ-पीक घंटों के दौरान, सामान्य डेटाबेस वर्कलोड पर I/O कैलिब्रेशन वर्कलोड के प्रभाव को कम करने के लिए।
निम्न छवि एक DBMS_RESOURCE_MANAGER.CALIBRATE_IO
से आउटपुट दिखाती है प्रक्रिया:
अंशांकन विचार
I/O कैलिब्रेशन चलाने से पहले, निम्नलिखित बातों पर विचार करें:
- एक ही स्टोरेज सबसिस्टम का उपयोग करने वाले डेटाबेस पर एक बार में केवल एक कैलिब्रेशन चलाएँ। यदि आप एक साथ अलग-अलग डेटाबेस में कैलिब्रेशन चलाते हैं जो एक ही स्टोरेज सबसिस्टम का उपयोग करते हैं, तो कैलिब्रेशन विफल हो जाता है।
- उदाहरण के लिए I/O को न्यूनतम करने के लिए डेटाबेस को बंद करें।
- Oracle Real Application Clusters (RAC) कॉन्फ़िगरेशन के लिए, सुनिश्चित करें कि सभी इंस्टेंस नोड्स में स्टोरेज सबसिस्टम को कैलिब्रेट करने के लिए खोले गए हैं।
- Oracle RAC डेटाबेस के लिए, कार्यभार एक साथ सभी उदाहरणों से उत्पन्न होता है।
- द
num_physical_disks
इनपुट पैरामीटर वैकल्पिक है। इस पैरामीटर को डेटाबेस के स्टोरेज सिस्टम में भौतिक डिस्क की अनुमानित संख्या पर सेट करके, अंशांकन तेज और अधिक सटीक दोनों होता है।
I/O अंशांकन प्रक्रिया के दौरान किसी भी समय, आप V$IO_CALIBRATION_STATUS
में अंशांकन स्थिति को क्वेरी कर सकते हैं दृश्य। I/O अंशांकन सफलतापूर्वक पूर्ण होने के बाद, परिणाम DBA_RSRC_IO_CALIBRATE
में देखें तालिका, निम्न उदाहरण के समान:
कॉलम | मान |
---|---|
START_TIME | 31-अगस्त-17 04.40.09.920679 पूर्वाह्न |
END_TIME | 31-अगस्त-17 04.47.41.210939 पूर्वाह्न |
MAX_IOPS | 39 |
MAX_MBPS | 60 |
MAX_PMBPS | 69 |
विलंबता | 24 |
NUM_PHYSICAL_DISKS | 1 |
निष्कर्ष
I/O संसाधन प्रबंधन (IORM) और कैलिब्रेट I/O सुविधाएँ आपके वर्तमान I/O आर्किटेक्चर की सीमाओं को समझने के लिए मूल्यवान हैं। अंशांकन पूरा होने के बाद, जानकारी का उपयोग उपयुक्त I/Odesign और आकार देने के लिए किया जा सकता है। कोई टिप्पणी करने या प्रश्न पूछने के लिए प्रतिक्रिया टैब का उपयोग करें।