ช้า NFS, nfsstat -c: ฟิลด์ authrefrsh (หรือที่รู้จักว่า newcreds คืออะไร) เกี่ยวกับรายละเอียด?


10

(net-fs / nfs-utils-1.2.3-r1, 2.6.38.5-zen + Gentoo)

Googling ดูเหมือนว่าจะเป็นจุดจบที่สมบูรณ์ ผู้ชาย nfsstatกล่าวว่าไม่มีอะไรมากมายเกี่ยวกับเรื่องนี้ ที่อยู่ใกล้ฉันจะได้รับคือการหาข้อมูลเกี่ยวกับสิ่งที่อาจจะก่อนหน้านี้ " newcreds "

newcreds จำนวนครั้งที่ต้องรีเฟรชข้อมูลการพิสูจน์ตัวตน

ปัญหาของฉันคือฉันคิดว่าฉันเห็นประสิทธิภาพ subpar NFS เหนือ OpenVPN และสิ่งเดียวที่ฉันเห็นได้ทันทีนั้นแตกต่างอย่างมากจากผลการค้นหาของ Google nfsstat ทั้งหมดนั่นคือฟิลด์ "การโทร" ของฉันเท่ากับ "authrefrsh" ดังนั้นจึงสูงมาก . ผลลัพธ์ของผลลัพธ์การค้นหาทั้งหมดมี authrefrsh เป็น 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%

ฉันไม่สามารถทราบได้อย่างชัดเจนว่า authrefrsh คืออะไร (และการสะกดนี้คือ btw โดยเจตนาหรือไม่) และทำไมมันเพิ่มขึ้นเช่นนี้ในกรณีของฉัน


เมื่อคุณพูดว่า NFS ช้าอะไรที่ทำให้คุณเชื่อว่าประสิทธิภาพของ NFS ควรเร็วขึ้น คุณสามารถหาปริมาณที่ช้าได้หรือไม่? เวลาของวันสำคัญกับประสิทธิภาพของ WRT หรือไม่
Mike Pennington

"Slow NFS" หมายความว่าทราฟฟิก NFS ไม่ควรมีปัญหาในการใช้แบนด์วิดท์ทั้งหมดซึ่ง VPN ที่ผ่านมามีไม่มาก (100 kB / วินาที) iftop แสดงปริมาณการใช้งานของฉันเพียงหลักเดียว kB / วินาทีมากกว่า tun0 ฉันเชื่อว่าฉันได้ลดปัญหาลงไปที่พอร์เทจ stat'ing สองสามพันแพคเกจใน PKGDIR ของฉันในระหว่างการทำงานที่เกี่ยวข้องกับ binpkg โผล่ออกมาซึ่งดูเหมือนว่าจะทำงานช้าเลือดตาแทบกระเด็น จากสิ่งที่ฉันสามารถบอกได้จนถึงตอนนี้ทางออกที่ดีที่สุดอาจมีการปรับปรุงพอร์ตสควอชเป็นประจำบนเวิร์กสเตชันระยะไกลและรับ binpkgs ผ่าน HTTP แบบสองทางแทนที่จะเป็น PKGDIR ที่ติดตั้ง NFS
lkraav

มีการอัพเดทอะไรบ้าง? ฉันสังเกตเห็นประสิทธิภาพของไคลเอนต์ NFS ที่แย่ลงด้วยเซิร์ฟเวอร์ SLES 11 และ CentOS 6 ที่ใหม่กว่าเมื่อเปรียบเทียบกับเซิร์ฟเวอร์ SLES 9 รุ่นเก่าของเรา ไคลเอนต์ SLES 9 นั้นเร็วกว่าและยังแสดงauthrefrsh=0ในขณะที่ระบบปฏิบัติการรุ่นใหม่นั้นมีจำนวนauthrefrshมากขึ้น ฉันคิดว่ามีความสัมพันธ์ที่นี่ แต่ไม่แน่ใจว่าสิ่งนี้หมายถึงอะไร
Banjer

คุณใช้การพิสูจน์ตัวตน NFS ประเภทใด AUTH_SYS?
Bratchley

เพื่อตอบคำถามของคุณส่วน authrefrsh คือจำนวนครั้งที่ไคลเอ็นต์ NFS เรียกcall_refresh()ซึ่งโดยทั่วไปแล้วกำลังออกไปที่เซิร์ฟเวอร์ RPC (portmap, rpcbind ฯลฯ ) และตรวจสอบข้อมูลประจำตัวกับเซิร์ฟเวอร์ เราจำเป็นต้องรู้ว่าจริงๆแล้วมันคืออะไรที่ทำให้เกิดความล่าช้า หากคุณกำลังทำAUTH_SYSอยู่ค่าโสหุ้ยต่ำและไม่เป็นสาเหตุ
Bratchley

คำตอบ:


5

จากบทความ Red Hatในความคิดเห็นการแก้ปัญหาพูดว่า

นี่เป็นพฤติกรรมที่คาดหวัง

ไม่ค่อยมีประโยชน์ แต่มันก็ชี้ให้เห็นถึงเหตุผลที่มันเกิดขึ้น

มันอ้างอิงกระทำ a17c2153d2e271b0cbacae9bed83b0eaa41db7e1 ในแพ็คเกจ sunrpc ที่ย้ายตำแหน่งที่จะทำการพิสูจน์ตัวตนของ nfs ฉันจะไม่คัดลอก / วางคอมมิททั้งหมด แต่ส่วนใหญ่จะเป็นการเปลี่ยนบรรทัดเหล่านี้

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

ความเข้าใจที่ จำกัด ของฉันคือเส้นนี้เคลื่อนที่ในตำแหน่งที่ call_refresh () เกิดขึ้น (ไม่ช้ากว่านั้นในภายหลัง) สิ่งนี้เป็นการเปิดใช้งานการร้องขอ nfs ทั้งหมดส่วนใหญ่จะทำให้ authrefrsh เพิ่มขึ้นเนื่องจากมีการใช้การรับรองความถูกต้องเสมอ


1

ฉันเห็นสิ่งเดียวกัน (ไม่ได้ใช้ vpn) - authrefrsh == สายที่ฝั่งไคลเอ็นต์ ดูเหมือนว่าฉันชอบจำนวนการโทรที่เพิ่มขึ้นจากนั้นช้าลงและจำนวนของการขออนุญาตอัตโนมัติจะจับขึ้นมา

สถิติลูกค้า rpc:

calls      retrans    authrefrsh
261697     0          261697

ฉันเห็น iowait สูงมากเช่นกัน:

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

ฉันไม่เห็นสิ่งผิดปกติใน wireshark - ฉันใช้ nfs3 และ tcp


1

จากสิ่งที่ฉันเข้าใจจากลิงก์นี้ authrefresh = การโทรไม่ได้ระบุปัญหา

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


ยินดีต้อนรับสู่ Unix & Linux! โดยทั่วไปเราชอบคำตอบในเว็บไซต์เพื่อให้สามารถยืนได้ด้วยตัวเอง - ลิงค์นั้นดี แต่ถ้าลิงค์นั้นเคยทำลายคำตอบควรมีข้อมูลเพียงพอที่จะยังคงเป็นประโยชน์ โปรดพิจารณาแก้ไขคำตอบของคุณเพื่อรวมรายละเอียดเพิ่มเติม ดูคำถามที่พบบ่อยสำหรับข้อมูลเพิ่มเติม
slm

สิ่งที่พวกเขาหมายถึงคือพวกเขาไม่แน่ใจว่าเป็นสาเหตุของปัญหาหรือเพิ่งขึ้นเนื่องจาก "การพุ่งขึ้นอย่างรวดเร็ว" เป็นการบ่งบอกว่าสิ่งต่าง ๆ ไม่ดี ในทำนองเดียวกันนี้ส่วนใหญ่จะเห็นควบคู่ไปกับประเด็นที่น่าเกลียด
Florian Heigl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.