Database
 sql >> डेटाबेस >  >> RDS >> Database

iPerf का उपयोग करके नेटवर्क लोड परीक्षण

एक डेटाबेस व्यवस्थापक बनना कई बार बहुत चुनौतीपूर्ण हो सकता है जब आपको प्रदर्शन समस्याओं का निवारण करना पड़ता है। डेटाबेस सर्वर एप्लिकेशन इकोसिस्टम का सिर्फ एक घटक है और इसे नियमित रूप से प्रदर्शन समस्या के रूप में दोषी ठहराया जाता है। SQL सर्वर उन ब्लैक बॉक्स में से एक है जिसे बहुत से लोग नहीं समझते हैं, बहुत कुछ SAN और नेटवर्क की तरह। उत्पादन डीबीए जो अपने सर्वर की निगरानी करते हैं, वे जल्दी से पहचान सकते हैं कि क्या SQL सर्वर अपनी सामान्य आधार रेखा के बाहर प्रदर्शन कर रहा है, हालांकि दो प्रमुख क्षेत्र हैं जिनकी हमें बहुत कम दृश्यता है:सैन और नेटवर्क। डीबीए को नियमित रूप से अन्य इंजीनियरों के साथ काम करना पड़ता है जब प्रदर्शन समस्याओं का निवारण करने की बात आती है जो सीधे SQL सर्वर से संबंधित नहीं होते हैं। हम sys.dm_io_virtual_file_stats की निगरानी करके डिस्क के प्रदर्शन को आसानी से ट्रैक कर सकते हैं , जिसके बारे में मैंने मॉनिटरिंग रीड/राइट लेटेंसी में लिखा था; हालाँकि, SQL सर्वर के भीतर नेटवर्क प्रदर्शन समस्याओं को ट्रैक करना उतना आसान नहीं है।

खराब नेटवर्क प्रदर्शन एप्लिकेशन प्रदर्शन के लिए एक मूक हत्यारा हो सकता है और मेरे व्यक्तिगत अनुभव ने कई मौकों पर ऐसा दिखाया है। अक्सर एक एप्लिकेशन में प्रदर्शन संबंधी समस्याएं होने लगती हैं और एप्लिकेशन इंजीनियर कहता है कि एप्लिकेशन सर्वर अच्छा दिखता है और डेटाबेस पर अपनी उंगली उठाना शुरू कर देता है। मुझे डेटाबेस सर्वर को देखने के लिए एक कॉल मिलेगी और सभी संकेतों से पता चला कि डेटाबेस सर्वर अच्छे स्वास्थ्य में था (और यह वह जगह है जहाँ प्रमुख प्रदर्शन संकेतकों की निगरानी और आधार रेखा होने से मदद मिलती है!) चूंकि एप्लिकेशन और डेटाबेस टीम कह रही थी कि सब कुछ अच्छा था, हम नेटवर्क टीम को चीजों की जांच करने के लिए कहेंगे। नेटवर्क टीम कुछ चीजों पर गौर करेगी और अपनी तरफ से भी सब कुछ स्पष्ट कर देगी। प्रत्येक टीम समस्या निवारण और अपने संबंधित सिस्टम की समीक्षा करने में समय लेती है, इस बीच एप्लिकेशन का प्रदर्शन अभी भी प्रभावित हो रहा था। यह मुद्दा तब तक बढ़ जाएगा जब तक कि सभी टीमों को एक साथ समस्या निवारण के लिए एक सम्मेलन पुल में शामिल होने के लिए नहीं कहा जाएगा। अंततः कोई व्यक्ति एक गहन नेटवर्क परीक्षण शुरू करेगा और यह निर्धारित करेगा कि हमारे पास या तो पोर्ट संतृप्ति, रूटिंग, या कुछ अन्य जटिल नेटवर्किंग समस्या थी। कुछ क्लिक या उनके अंत में कुछ बदलने से अंततः एप्लिकेशन धीमापन हल हो जाएगा।

सबसे महत्वपूर्ण नेटवर्किंग समस्या जिसका मैंने ग्राहकों के साथ सामना किया है, आमतौर पर बैकअप करते समय बैंडविड्थ शामिल होता है। कई बड़े संगठन कोर इन्फ्रास्ट्रक्चर के लिए 10Gb नेटवर्किंग में माइग्रेट कर रहे हैं, हालांकि भौतिक और वर्चुअल नेटवर्किंग दोनों के साथ काम करते समय, सेटिंग या पोर्ट को गलत तरीके से कॉन्फ़िगर करना और इसे 1Gb तक गिराना आसान है। नियमित एप्लिकेशन नेटवर्क ट्रैफ़िक के लिए आप प्रदर्शन में गिरावट को नोटिस नहीं कर सकते हैं, हालांकि जैसे ही आप बैकअप के लिए 100 जीबी डेटा की प्रतिलिपि बनाने की कोशिश करना शुरू करते हैं, वह 1 जीबी संतृप्त हो जाएगा और आपके बैकअप और पुनर्स्थापना कार्य प्रभावित होंगे।

डीबीए के लिए यह चुनौतीपूर्ण हो सकता है कि दूसरों को उन समस्याओं में गहराई से देखने के लिए जो उन्हें नहीं लगता कि उनका मुद्दा है क्योंकि प्रारंभिक संकेतक समस्या को प्रकट नहीं करते हैं। अन्य टीमों तक पहुंचने से पहले डेटा के साथ खुद को बांटने में सक्षम होने से उन्हें शामिल होने में मदद मिलेगी। प्रारंभिक बैंडविड्थ परीक्षण करने के लिए iPerf का उपयोग करके, आप जल्दी से यह निर्धारित कर सकते हैं कि आपको नेटवर्क गति मिल रही है या नहीं। उदाहरण के लिए, यदि आप एप्लिकेशन सर्वर और डेटाबेस सर्वर के बीच 10Gb नेटवर्क का उपयोग कर रहे हैं और आप एक परीक्षण चलाते हैं और केवल 1Gb प्राप्त कर रहे हैं, तो आप जानते हैं कि कुछ सही नहीं है। यदि आप इस खोज का दस्तावेजीकरण कर सकते हैं, तो आप विश्वास के साथ अपने नेटवर्क इंजीनियरों से बैंडविड्थ की समस्या पर गौर करने के लिए कह सकते हैं।

आप iPerf का उपयोग कैसे शुरू करते हैं? सबसे पहले आपको iPerf.fr से टूल डाउनलोड करना होगा। चूंकि मैं विंडोज सर्वर 2012 पर काम कर रहा हूं, इसलिए मैंने अपनी मशीन पर विंडोज बायनेरिज़ डाउनलोड कर ली हैं। एक बार जब आप पैकेज को डाउनलोड और अनज़िप कर लेते हैं, तो आपको प्रोग्राम को कमांड लाइन से चलाने की आवश्यकता होगी। मैंने iPerf 3.0.11 डाउनलोड किया जो लगभग एक साल से बंद है। इस उपयोगिता के दस्तावेज़ीकरण को पढ़ना सुनिश्चित करें। चूंकि यह एक कमांड लाइन टूल है, ऐसे दर्जनों विकल्प हैं जिनका आप उपयोग कर सकते हैं। नीचे दिए गए उदाहरण में मैं उनमें से केवल कुछ का ही उपयोग करूंगा, हालांकि आपकी स्थिति के आधार पर, आपको पोर्ट निर्दिष्ट करने या पैकेट आकार बढ़ाने जैसे अन्य विकल्पों का उपयोग करने की आवश्यकता हो सकती है। कृपया ध्यान दें कि विकल्प कमांड केस संवेदी होते हैं।

iPerf का उपयोग करने के लिए, आपको बैंडविड्थ का परीक्षण करने के लिए कम से कम दो सर्वरों का उपयोग करना होगा। एक बार जब आप बायनेरिज़ को दो सर्वरों पर कॉपी कर लेते हैं, तो आपको पहले किसी एक सर्वर पर iPerf श्रोता को शुरू करना होगा। ऐसा करने के लिए मैं निम्नलिखित कमांड चलाऊंगा:

iperf3 -एस

यह आदेश सर्वर मोड में iPerf चलाता है और एक समय में केवल एक कनेक्शन की अनुमति देगा।

दूसरे सर्वर पर आपको कई क्लाइंट विकल्पों का उपयोग करके iPerf लॉन्च करना होगा। पहले हम क्लाइंट मोड को निर्दिष्ट करने के लिए -c निर्दिष्ट करने जा रहे हैं। हम प्रत्येक परीक्षण को चलाने के लिए समय निर्दिष्ट करने के लिए -t और बनाने के लिए एक साथ कनेक्शन की संख्या निर्दिष्ट करने के लिए -P का भी उपयोग करेंगे। हम कई कनेक्शन निर्दिष्ट करना चाहते हैं ताकि हम नेटवर्क पर उचित दबाव डाल सकें। इस परीक्षण के लिए मैं निम्नलिखित कमांड चलाने जा रहा हूँ:

iperf3 -c (सर्वर नाम या पहले सर्वर का आईपी पता) -t 30 -P 10

ऊपर दिया गया कमांड एक साथ 10 कनेक्शन के साथ 30 सेकंड का ट्रांसमिशन टेस्ट शुरू करेगा।

मैंने इस परीक्षण को अपने डेल M6800 पर दो वर्चुअल मशीनों पर चलाया ताकि इन VM के माध्यम से जाने के लिए कोई भौतिक नेटवर्क न हो।

सर्वर 2 से सर्वर 1 से कनेक्ट होने से मुझे 2.17 Gbits/sec की बैंडविड्थ के साथ 7.57 GBytes स्थानांतरित किया गया। लैपटॉप पर कुछ VMs के लिए बुरा नहीं है।

नेटवर्क आँकड़े / iPerf आउटपुट :सर्वर 2 सर्वर 1 से कनेक्ट हो रहा है

सर्वर 1 से सर्वर 2 से कनेक्ट होने से मुझे 2.00 Gbits/sec की बैंडविड्थ के साथ 6.98 GBytes स्थानांतरित किया गया। जैसा कि आप देख सकते हैं कि संख्याओं में थोड़ा अंतर है लेकिन फिर भी अपेक्षाकृत करीब है। अगर ये संख्या बहुत अलग होती तो मुझे इसके कारणों की जांच करनी पड़ती।

नेटवर्क आँकड़े / iPerf आउटपुट :सर्वर 1 सर्वर 2 से कनेक्ट हो रहा है

उत्पादन में जाने से पहले इन परीक्षणों को चलाना और अपने उत्पादन सर्वर पर इन परीक्षणों को नियमित रूप से दोहराने की आदत बनाना महत्वपूर्ण है। आपको यह जानने की जरूरत है कि सामान्य क्या है, यदि आप इसकी निगरानी नहीं कर रहे हैं, तो आप इसे माप नहीं सकते हैं। यदि आप जानते हैं कि फर्मवेयर अपडेट आपके सर्वर, वर्चुअल होस्ट, या किसी कोर नेटवर्किंग उपकरण पर किए जा रहे हैं, तो परिवर्तनों से पहले और बाद में एक iPerf परीक्षण आपको किसी भी नकारात्मक साइड इफेक्ट की पहचान करने के लिए तुरंत सचेत कर सकता है।

किसी भी सर्वर के खिलाफ यह परीक्षण करना भी महत्वपूर्ण है जो सीधे डेटाबेस सर्वर के साथ इंटरफेस करता है और किसी भी सर्वर जो डेटाबेस सर्वर सीधे नेटवर्क बैकअप डिवाइस के साथ इंटरफेस करता है। IPerf विंडोज और लिनक्स दोनों पर काम करता है जिससे दो ऑपरेटिंग सिस्टम के बीच परीक्षण करना आसान हो जाता है।

डीबीए के लिए, नेटवर्क को अब एक ब्लैक बॉक्स नहीं होना चाहिए जिसके बारे में आप कुछ भी नहीं जानते हैं। iPerf का उपयोग करने से आप अपने डेटाबेस सर्वर और किसी अन्य सर्वर के बीच नेटवर्क के साथ किसी भी बैंडविड्थ समस्या के प्रति सचेत हो सकते हैं। सीमित नेटवर्क समस्या निवारण के लिए केवल पिंग और TRACERT पर निर्भर रहने का कोई कारण नहीं है। iPerf डाउनलोड करें और अपने नेटवर्क बैंडविड्थ का दस्तावेजीकरण शुरू करें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL ORDER BY:डेटा को एक पेशेवर की तरह सॉर्ट करने के लिए क्या करें और क्या न करें?

  2. प्रिज्मा, रिवर्स ऑर्डर कैसे करें

  3. पार्स पैरामीटर डिफ़ॉल्ट मान PowerShell का उपयोग कर - भाग 2

  4. स्क्रैच से डेटाबेस मॉडल कैसे बनाएं

  5. अनुमानों पर ध्यान देना