धीमे NFS, nfsstat -c: क्या है proterefrsh (उर्फ newcreds?) क्षेत्र के बारे में विस्तार से?


10

(नेट-एफएस / nfs-utils-1.2.3-r1, 2.6.38.5-zen + Gentoo)

गुग्लिंग यह एक पूर्ण मृत अंत प्रतीत होता है। आदमी nfsstat विषय के बारे में कुछ नहीं की एक पूरी बहुत कुछ कहता है। निकटतम मुझे मिल सकता है के बारे में पता लगा रहा था कि शायद पहले " newcreds " था।

newcreds कई बार प्रमाणीकरण जानकारी को ताज़ा करना पड़ता था।

मेरी समस्या यह है कि मुझे लगता है कि मैं ओपन वीपीएन पर सबपर एनएफएस प्रदर्शन देख रहा हूं और केवल एक चीज जिसे मैं तुरंत देख सकता हूं वह सभी nfsstat Google परिणामों की तुलना में काफी अलग है, यह है कि मेरा "कॉल" फ़ील्ड बिल्कुल "ऑक्ट्रेफ्रेश" के बराबर है और इसलिए बहुत अधिक है । सभी खोज परिणाम आउटपुट में हमेशा 0 या बहुत कम संख्या के रूप में ऑक्ट्रेफ्रेश होता था। इससे पहले कि मैं कुछ अन्य पहलुओं पर डिबगिंग के लिए आगे बढ़ूं, मैं इसका पता लगाने का उपयोग कर सकता हूं कि इसका क्या मतलब है।

देखे गए ऑपरेशन NFS- साझा पोर्टेज पर एक पैकेज बन रहा है। उभरना ऑपरेशन के दौरान एक बड़े पेड़ को लांघता है लेकिन पिछला अनुभव कहता है कि मैं जो प्रदर्शन देख रहा हूं वह असामान्य है।

$ watch -n 1 nfsstat -c

Every 1,0s: nfsstat -c                                Sat May 21 23:04:55 2011

Client rpc stats:
calls      retrans    authrefrsh
308565     2211       308565

Client nfs v3:
null         getattr      setattr      lookup       access       readlink
0         0% 172372   55% 17        0% 30485     9% 36057    11% 26831     8%
read         write        create       mkdir        symlink      mknod
25879     8% 107       0% 21        0% 0         0% 0         0% 0         0%
remove       rmdir        rename       link         readdir      readdirplus
16        0% 0         0% 11        0% 0         0% 0         0% 16668     5%
fsstat       fsinfo       pathconf     commit
3         0% 50        0% 25        0% 2         0%

मैं यह नहीं जान सकता कि ऑक्ट्रेफ्रेश क्या है (और यह वर्तनी है, क्या वह जानबूझकर btw है?) और मेरे मामले में ऐसा क्यों बढ़ रहा है?


जब आप धीमी एनएफएस कहते हैं, तो आपको क्या विश्वास है कि एनएफएस प्रदर्शन तेज होना चाहिए? क्या आप धीमी गति से मात्रा बढ़ा सकते हैं? दिन का समय WRT प्रदर्शन के बारे में बताता है?
माइक पेनिंगटन

"स्लो एनएफएस" का मतलब है कि एनएफएस ट्रैफ़िक को उपलब्ध संपूर्ण बैंडविड्थ को लेने में कोई परेशानी नहीं होनी चाहिए, जो कि वीपीएन से अधिक नहीं थी (100 केबी / सेकंड)। इसके बजाय iftop मुझे tun0 पर केवल एक अंक kB / सेकंड का ट्रैफ़िक दिखा रहा था। मेरा मानना ​​है कि मैंने अपने पीकेजीडीआईआर में दो हजार पैकेजों के कुछ हिस्सों को पोर्टेज स्टेटिंग के लिए कम कर दिया है। मैं अब तक जो भी बता सकता हूं, सबसे अच्छा समाधान हो सकता है कि नियमित रूप से दूरस्थ कार्यस्थानों पर स्क्वाशफ़ेट्स का अद्यतन और एनएफएस-माउंटेड पीकेजीडीआईआर के बजाय HTTP बिनहोस्ट पर बीनपेक प्राप्त करना।
लक्रव

इस पर कोई अपडेट? मैंने अपने पुराने SLES 9 सर्वरों की तुलना में नए SLES 11 और CentOS 6 सर्वरों के साथ खराब NFS क्लाइंट प्रदर्शन देखा है। एसएलईएस 9 क्लाइंट गतिमान हैं, और यह भी दिखाते हैं authrefrsh=0, जबकि नए ओएस 'एक टन दिखाते हैं authrefrsh। मुझे लगता है कि यहां सहसंबंध है, लेकिन यह निश्चित नहीं है कि यह सब क्या है।
बंजर

आप किस प्रकार का एनएफएस प्रमाणीकरण कर रहे हैं? AUTH_SYS?
ब्राचली

हालाँकि, आपके सवाल के कुछ हिस्सों का जवाब देने के लिए, nrerefrsh कई बार NFS क्लाइंट ने कॉल call_refresh()किया है जो मूल रूप से RPC सर्वर (portmap, rpcbind, आदि) के लिए जा रहा है और सर्वर के साथ अपनी साख को मान्य कर रहा है। हमें यह पता लगाने की जरूरत है कि क्या वास्तव में यह विलंबता का कारण है। यदि आप कर रहे हैं AUTH_SYSतो ओवरहेड कम है और इसका कारण नहीं होगा।
ब्राचली

जवाबों:


5

से रेड हैट लेख टिप्पणी में समाधान का कहना है

यह अपेक्षित व्यवहार है।

बहुत उपयोगी नहीं है, लेकिन यह भी होता है कि कारण होता है।

यह संदर्भित करता है कि a17c2153d2e271b0cbacae9bed83b0eaa41db7e1 sunrpc पैकेज में चलता है जहाँ nfs प्रमाणीकरण होता है। मैं पूरे कमिट को कॉपी / पेस्ट नहीं करूंगा लेकिन यह इन लाइनों को बदल देता है।

-struct rpc_cred *cred = task->tk_msg.rpc_cred;
+struct rpc_cred *cred = task->tk_rqstp->rq_cred;

मेरी सीमित समझ यह है कि यह लाइन चलती है जहां call_refresh () होता है (जितनी जल्दी बाद में होता है)। बदले में इसका अर्थ है कि सभी nfs अनुरोधों के कारणrerereshsh को वृद्धिशीलता मिलेगी क्योंकि प्रमाणीकरण हमेशा उपयोग किया जाता है।


1

मैं एक ही चीज देख रहा हूं (vpn का उपयोग नहीं कर रहा हूं) - ग्राहक पक्ष पर =rerefrsh == कॉल। ऐसा लगता है जैसे कॉल की संख्या बढ़ जाती है, फिर धीमा हो जाता है और ऑक्ट्रेफ्रेश की संख्या फिर बढ़ जाती है।

ग्राहक आरपीसी आँकड़े:

calls      retrans    authrefrsh
261697     0          261697

मैं बहुत उच्च आयोवाइट देखता हूं:

dd if=/dev/zero of=/mnt/omoikane/testfile bs=16k count=2048

(iostat से :)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          4.04    0.00    4.04   91.92    0.00    0.00

मैं वायरशार्क में कुछ भी असामान्य नहीं देख सकता - मैं nfs3 और tcp का उपयोग कर रहा हूं।


1

इस लिंक से मुझे जो समझ में आया है, उससे Cortrefresh = कॉल समस्या का संकेत नहीं दे रहा है।

https://bugzilla.redhat.com/show_bug.cgi?id=785931


यूनिक्स और लिनक्स में आपका स्वागत है! आम तौर पर हम साइट पर अपने स्वयं के स्टैंड पर सक्षम होने के लिए उत्तर पसंद करते हैं - लिंक महान हैं, लेकिन अगर उस लिंक ने कभी भी उत्तर को तोड़ दिया तो अभी भी उपयोगी होने के लिए पर्याप्त जानकारी होनी चाहिए। अधिक विवरण शामिल करने के लिए कृपया अपने उत्तर को संपादित करने पर विचार करें। अधिक जानकारी के लिए FAQ देखें ।
स्लम

उनका मतलब है कि वे निश्चित नहीं हैं कि यह समस्या का कारण है या सिर्फ इसके कारण है। "आसमान छू" निश्चित रूप से संकेत दे रहा है कि चीजें ठीक नहीं हैं। इसी तरह यह ज्यादातर बदसूरत पूर्ण मुद्दों के साथ समानांतर में देखा जाता है।
फ्लोरियन हीगल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.