नेटवर्क विलंबता माप (Linux)


8

मैं SNMP GET अनुरोध के लिए नेटवर्क विलंबता मापना चाहूंगा। एक मुफ्त कमांड लाइन उपकरण है timeजिसका उपयोग विभिन्न कमांड के लिए समय के आंकड़े खोजने के लिए किया जा सकता है। उदाहरण के लिए इसका उपयोग snmpgetनिम्न तरीके से किया जा सकता है :

$ time snmpget -v 2c -c public 192.168.1.3 .1.3.6.1.2.1.2.2.1.10.2
IF-MIB::ifInOctets.2 = Counter32: 112857973

real    0m0.162s
user    0m0.069s
sys 0m0.005s

मैनुअल के अनुसार, आँकड़े निम्नलिखित हैं:

  • आह्वान और समाप्ति के बीच बीता हुआ वास्तविक समय,

  • उपयोगकर्ता सीपीयू समय (एक
    tms_utime और tms_cutime का योग एक संरचना tms में
    समय (2) द्वारा लौटा के रूप में ),

  • सिस्टम CPU समय (एक
    tms_stime और tms_cstime का योग एक संरचनात्मक tms में
    समय (2) के रूप में लौटा )।

जैसा कि आप देखते हैं, इन विकल्पों में से कोई भी वास्तविक नेटवर्क विलंबता समय (अन्य प्रोग्राम निष्पादन समय आँकड़े को छोड़कर) को मापने की अनुमति नहीं देता है। क्या ऐसा करने का कोई तरीका है? शायद समय उपकरण का उपयोग नहीं कर रहा है, बल्कि कुछ कर्नेल हैक्स?

मैं पूछना चाहता था, इससे पहले कि मैं अपना कार्यक्रम लिखना शुरू कर दूं।

धन्यवाद, पायोत्र

जवाबों:


5

tcpdump(8)कार्यक्रम के -tttध्वज बस हो सकता है कि तुम क्या जरूरत है:

00:00:00.000031 IP haig.mdns > 224.0.0.251.mdns: 0 PTR (QM)? 1.0.168.192.in-addr.arpa. (42)
00:00:01.897031 IP haig.45240 > stackoverflow.com.www: Flags [F.], seq 866615166, ack 62506321, win 123, options [nop,nop,TS val 6026371 ecr 419296939], length 0
00:00:00.000030 IP haig.45242 > stackoverflow.com.www: Flags [F.], seq 853537650, ack 61102072, win 123, options [nop,nop,TS val 6026371 ecr 419296939], length 0
00:00:00.000019 IP haig.45243 > stackoverflow.com.www: Flags [F.], seq 863535366, ack 62086489, win 123, options [nop,nop,TS val 6026371 ecr 419296939], length 0

लाइनों की शुरुआत में टाइमस्टैम्प पिछले पैकेट के बाद से माइक्रोसेकंड में समय दिखाता है। -tकमांड लाइन पर एक अलग संख्या देकर , आप या तो पूर्ण समय प्राप्त कर सकते हैं, पहले पैकेट से सापेक्ष समय, या पैकेट के बीच सापेक्ष समय।

मैंने अभी-अभी यादृच्छिक mdns और वेब ट्रैफ़िक दिखाए हैं, क्योंकि मेरे सिस्टम पर ढूंढना आसान है; आप एसएनएमपी ट्रैफिक के लिए आसानी से फ़िल्टर कर सकते हैं tcpdump(8)ताकि आप केवल उन पैकेटों को प्राप्त कर सकें जिनमें आपकी रुचि है (जो कि एक अच्छा विचार होगा, क्योंकि व्यस्त सिस्टम से सभी ट्रैफ़िक को डंप करना एक बहुत बड़ा भार उत्पन्न कर सकता है ।)


-tttttयह भी उपयोगी हो सकता है - पिछले पैकेट के बाद से माइक्रोसेकंड दिखाने के बजाय, यह ट्रेस की शुरुआत के बाद से माइक्रोसेकंड दिखाता है।
एलेक्स डी

8

पिंग की कोशिश करें:

$ ping -U 192.168.1.3

पिंग मैनुअल से:

-U पूर्ण उपयोगकर्ता-से-उपयोगकर्ता विलंबता (पुराना व्यवहार) प्रिंट करें । सामान्य रूप से पिंग नेटवर्क राउंड ट्रिप टाइम को प्रिंट करता है, जो DNS विफलताओं के कारण भिन्न हो सकता है।


उत्तर के लिए धन्यवाद, लेकिन मैं SNMP अनुरोध प्राप्त करने के लिए विशिष्ट विलंबता को मापना चाहूंगा।

5

प्रोग्राम चलाएं और इस दौरान tcpdumpया के साथ नेटवर्क ट्रैफ़िक कैप्चर करें wireshark। अनुरोध और उत्तर के समय की जांच करें और एक सरल घटाव करें।

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