Network and Storage Protocols

Question about calculating CIFS latency


When I want to calculate the CIFS latency, according to the documentation I need to retrieve two samples from the filer, one at time t1 and one at time t2.  Then use the formula:



CIFS latency =  (cifs_latency at time t2 - cifs_latency at time t1) / 
          (cifs_latency_base at time t2 - cifs_latency_base at time t1)


My question is what is the optimal delay between t1 and t2.  It seems if t1 and t2 are too far apart, the calculation would be meaningless.



I just make the call twice in succession with no wait.  Is this the correct implementation?


There are multiple ways to measure cifs latency.

Raw data can be measured from the command line using stats, such as:

system> stats show cifs:cifs:cifs_latency


Stats can be run in a couple of different ways:

–Once, where current counter values are displayed

stats show

–Repeating, in which counter values are displayed at a fixed interval

stats show –i 1

–Period, in which counters are gathered over a  single period  of time and then displayed

stats start then stats stop

There are a number of commands in Data ONTAP where statistics can be collected over

a period of time like this. I always recommend that these commands are run from a script

of the general form:


sleep 60


The reason I give for this is: There's lies, damn lies, and statistics ! When doing performance

analysis I'd rather be looking at real statistics. Using a script you're always looking at the

same time interval.

Counters measured by stats can also be measured by using SNMP. If CIFS is a big part

of your environment you may want to set up an SNMP poll just for CIFS latency.

You can measure latency overall, or by volume for finer grain monitoring.

There's also the advanced priv smb_hist command you can use, which shows CIFS response

delay distributions for all operations.

At your service,

Eugene Kashpureff


I am calculating this in my C code using the SDK.


Hi Eugene,

while looking at your post, I went down the MIB definitions and could not find a leaf indicating/reporting such an information.

Could you please direct me to the proper OID I should use to get access to this type of information when polling my equipment.

Thanks a lot for your answer



Jean -

Welcome to the NetApp Communties site !

It never stops to amaze me how dear old posts from the past return here.

I would have thought that something like cifs latency would have at least been in the MIB.

But I spent some time this evening going through v 2.0.3 - and there's nothing in there I can

see to set a poll for or trap trigger for:

I didn't even see volume latency ? Though, we can see this from stats ...

Are we missing something here or should somebody be beatin ass on the SNMP team at NetApp ?

Of course, there's the API.. I didn't take the time to do the dive again into the Ops Mgr docs

or try to do a model in the labs this time... Maybe I wil tmrw.

: }

I hope this response has been helpful to you.

At your service,

Eugene E. Kashpureff
Senior Systems Architect / NetApp Certified Instructor

(P.S. I appreciate points for helpful or correct answers.)


Excellent post...