Network and Storage Protocols

Linux NFS Client latency statistics

dcornely1

Hello,

I've been trying for a while to find this information but it seems it simply isn't possible at this point.  What I'm looking for is a tool that runs on a Linux (RHEL) NFS client that can show me latency for read & write operations against the mounted NFS shares.  I know how to get all the other data like # of operations, throughput and such but I can't find a single tool that will actually tell me the latency from a client-side perspective.  For example, if I run iostat on linux, I can get await & svctm for block devices in milliseconds -- but not for NFS mounts!!

Does anyone know how to do this?

Specifically, I need something I can run via the command line on the Linux client that is reading and/or writing to an NFS mounted share that will show me the latency for this activity from the client's perspective.  It may be that this only exists for NFSv4 but I'm not sure...

Thank you!

-Dave

1 ACCEPTED SOLUTION

aborzenkov

In this case it would be prudent to mark it as correct answer, would not it? ☺

View solution in original post

6 REPLIES 6

lukasz_borek

nfsstat?

dcornely1

Thanks but no, nfsstat doesn't provide latency information.  It also doesn't show real-time data so I can't use it to see what current activity is.

aborzenkov

The needed counters were added to Linux kernel in 2.6.17. If you have this version (or vendor kernel that backported it) you could use nfs-iostat (http://git.linux-nfs.org/?p=steved/nfs-utils.git;a=blob;f=tools/nfs-iostat/nfs-iostat.py;h=9626d42609b9485c7fda0c9ef69d698f9fa929fd;hb=HEAD) to obtain exactly the information you need.

dcornely1

Bingo!  Thanks man!  For those that are interested, here's a sample output:

$ python nfs-iostat.py

sdlab01:/vol/ora_ocr_vote_C2 mounted on /dave:

   op/s         rpc bklog
   0.00            0.00
read:             ops/s            kB/s           kB/op         retrans         avg RTT (ms)    avg exe (ms)
                  0.000           0.000           0.000        0 (0.0%)           0.000           0.000
write:            ops/s            kB/s           kB/op         retrans         avg RTT (ms)    avg exe (ms)
                  0.000           0.000           0.000        0 (0.0%)           0.000           0.000

The RTT (round-trip time) is exactly what I was after.

aborzenkov

In this case it would be prudent to mark it as correct answer, would not it? ☺

View solution in original post

dcornely1

Indeed - I'm not familiar with the points system here so I just clicked whereever it said helpful and correct.

Announcements
NetApp on Discord Image

We're on Discord, are you?

Live Chat, Watch Parties, and More!

Explore Banner

Meet Explore, NetApp’s digital sales platform

Engage digitally throughout the sales process, from product discovery to configuration, and handle all your post-purchase needs.

NetApp Insights to Action
I2A Banner
Public