nfs ops to iops formula? - NFS

This is a discussion on nfs ops to iops formula? - NFS ; Is there something that will do this type of conversion? Some formula or rule of thumb? Something other than just taking a time sample of both sides and averaging it. Thanks. ~F...

+ Reply to Thread
Results 1 to 9 of 9

Thread: nfs ops to iops formula?

  1. nfs ops to iops formula?

    Is there something that will do this type of conversion? Some formula
    or rule of thumb? Something other than just taking a time sample of
    both sides and averaging it.

    Thanks.

    ~F

  2. Re: nfs ops to iops formula?


    Faeandar wrote:
    > Is there something that will do this type of conversion? Some formula
    > or rule of thumb? Something other than just taking a time sample of
    > both sides and averaging it.


    Please define what an nfs op is and what an iop is.


  3. Re: nfs ops to iops formula?

    Mike Eisler wrote:
    > Faeandar wrote:
    >> Is there something that will do this type of conversion? Some formula
    >> or rule of thumb? Something other than just taking a time sample of
    >> both sides and averaging it.

    >
    > Please define what an nfs op is and what an iop is.


    'Way back when, nhfsstone was the way one benchmarked the performance of
    an NFS server, but because of some deficiencies (such as dependencies on
    client specifics and general lack of rigor in definition) a benchmark
    called LADDIS (an acronym created from the names of the companies
    involved in creating it: Legato, Auspex, DG, DEC, Interphase, and Sun)
    superseded it and (IIRC) introduced the concept of 'nfs ops' (each of
    which often required varying numbers of disk accesses to complete and/or
    might benefit from cached data). LADDIS was incorporated into the SPEC
    SFS server benchmark, which may still be the standard nfs measurement today.

    IOPS, of course, refers to simple disk accesses (i/o operations per
    second), either of a single disk or of an aggregation of them - or to
    'effective' disk accesses when applied to a server which may satisfy
    some out of an internal cache.

    LADDIS does define the mix of nfs operations to perform, and one could
    presumably derive the number of disk accesses they would require in the
    absence of caching - but even then that number would still depend upon
    the specific server file system implementation, whereas any IOPS
    measurement should be essentially independent of anything but the
    hardware. Therefore, it is not clear that any stable relationship
    exists between nfs ops and iops (at least if Faeandar was referring to
    LADDIS-style nfs ops).

    - bill

  4. Re: nfs ops to iops formula?

    On 19 Feb 2006 09:57:53 -0800, "Mike Eisler"
    wrote:

    >
    >Faeandar wrote:
    >> Is there something that will do this type of conversion? Some formula
    >> or rule of thumb? Something other than just taking a time sample of
    >> both sides and averaging it.

    >
    >Please define what an nfs op is and what an iop is.


    Bill is going in the right direction. IOPS would be the OS operations
    against locallly owned disks (or controllers or Lun's or whatever)
    whereas NFS ops are operations made against the NFS stack/client.

    I thought the difference was generally understood but maybe not. What
    was the reason for your question? Is there theoretically no
    difference between them?

    ~F

  5. Re: nfs ops to iops formula?


    Faeandar wrote:
    > On 19 Feb 2006 09:57:53 -0800, "Mike Eisler"
    > wrote:
    >
    > >
    > >Faeandar wrote:
    > >> Is there something that will do this type of conversion? Some formula
    > >> or rule of thumb? Something other than just taking a time sample of
    > >> both sides and averaging it.

    > >
    > >Please define what an nfs op is and what an iop is.

    >
    > Bill is going in the right direction. IOPS would be the OS operations
    > against locallly owned disks (or controllers or Lun's or whatever)
    > whereas NFS ops are operations made against the NFS stack/client.


    What lengths are passed to the OS operations?

    > I thought the difference was generally understood but maybe not. What
    > was the reason for your question? Is there theoretically no


    I don't know what you think an IOop or NFSop is.

    > difference between them?


    If Bill is talking about "LADDIS" (really, SPEC SFS), then you can
    look at the documentation to see which NFS operations in the workload
    are reads and writes, assuming that's what you meant. Just take the
    reported SPEC SFS ops/sec and ultiply by the percentage of ops that
    are the sum of read and write, and you get your number.

    http://www.spec.org/sfs97r1/docs/chapter1.html#table1

    I don't see in the documents the read and write transfer size. I think
    it is 8 Kbytes. Assuming so, if your IOP uses 8KByte transfers, then
    you can directly translate from SPEC to NFS.

    However if you simpy want to see what the maximum IOPs are for a given
    NFS server, then you'd need to run the benchmark with 50% reads and
    50% writes.

    So again, you need to define your terms.


  6. Re: nfs ops to iops formula?

    Mike Eisler wrote:

    > http://www.spec.org/sfs97r1/docs/chapter1.html#table1
    >
    > I don't see in the documents the read and write transfer size. I think
    > it is 8 Kbytes. Assuming so, if your IOP uses 8KByte transfers, then
    > you can directly translate from SPEC to NFS.


    It is 8KB. Some day SPEC will make it 32KB, or better, dynamic. Although
    that won't matter too much as most accesses are <= 16KB (~ 85%, with
    almost half <= 8KB).

    In the real world, depending on what clients and servers you
    run, the transfer size of a large sequential I/O may
    vary from 8KB to 1MB.

    So to re-ask Mike's question, what is your NFSop?

    -David

  7. Re: nfs ops to iops formula?


    "David Robinson" wrote in message
    news:dtfkc6$f34$1@news1brm.Central.Sun.COM...
    > Mike Eisler wrote:
    >
    >> http://www.spec.org/sfs97r1/docs/chapter1.html#table1
    >>
    >> I don't see in the documents the read and write transfer size. I think
    >> it is 8 Kbytes. Assuming so, if your IOP uses 8KByte transfers, then
    >> you can directly translate from SPEC to NFS.

    >
    > It is 8KB. Some day SPEC will make it 32KB, or better, dynamic. Although
    > that won't matter too much as most accesses are <= 16KB (~ 85%, with
    > almost half <= 8KB).
    >
    > In the real world, depending on what clients and servers you
    > run, the transfer size of a large sequential I/O may
    > vary from 8KB to 1MB.
    >
    > So to re-ask Mike's question, what is your NFSop?
    >
    > -David


    I'm also curious what is the definition that someone is
    trying to use for NFSop, as there are many different
    types of NFS operations.

    #define NFS2_VERSION 2
    #define NFSPROC_NULL 0
    #define NFSPROC_GETATTR 1
    #define NFSPROC_SETATTR 2
    #define NFSPROC_ROOT 3
    #define NFSPROC_LOOKUP 4
    #define NFSPROC_READLINK 5
    #define NFSPROC_READ 6
    #define NFSPROC_WRITECACHE 7
    #define NFSPROC_WRITE 8
    #define NFSPROC_CREATE 9
    #define NFSPROC_REMOVE 10
    #define NFSPROC_RENAME 11
    #define NFSPROC_LINK 12
    #define NFSPROC_SYMLINK 13
    #define NFSPROC_MKDIR 14
    #define NFSPROC_RMDIR 15
    #define NFSPROC_READDIR 16
    #define NFSPROC_STATFS 17

    and

    #define NFS3_VERSION 3
    #define NFS3PROC_NULL 0
    #define NFS3PROC_GETATTR 1
    #define NFS3PROC_SETATTR 2
    #define NFS3PROC_LOOKUP 3
    #define NFS3PROC_ACCESS 4
    #define NFS3PROC_READLINK 5
    #define NFS3PROC_READ 6
    #define NFS3PROC_WRITE 7
    #define NFS3PROC_CREATE 8
    #define NFS3PROC_MKDIR 9
    #define NFS3PROC_SYMLINK 10
    #define NFS3PROC_MKNOD 11
    #define NFS3PROC_REMOVE 12
    #define NFS3PROC_RMDIR 13
    #define NFS3PROC_RENAME 14
    #define NFS3PROC_LINK 15
    #define NFS3PROC_READDIR 16
    #define NFS3PROC_READDIRPLUS 17
    #define NFS3PROC_FSSTAT 18
    #define NFS3PROC_FSINFO 19
    #define NFS3PROC_PATHCONF 20
    #define NFS3PROC_COMMIT 21

    NFS operations come in many flavors. Usually a mix of these
    operations, in some standard workload environment, are
    interesting. But a direct conversion from NFSops/sec into
    Iops/sec makes no sense.

    -------------
    Next term that needs a defintion would be Iops/sec.
    What is an Iop ? Again, there are many different types
    of I/O operations, and each may have a different latency.
    Examples:
    Iop = system call ? ie read(fd,buf,len)
    Iop = disk controller command ?
    Iop = IDE or SCSI or FC, command ?
    Iop = Would that be a sector ?

    Using the term "Iop" without a definition is not pretty.

    Opinion:
    One may apply any constant for conversion that they
    wish, to convert NFSops/sec into Iops/sec, as long
    as they are aware that the resultant integers are
    no more meaningful than cat < /dev/random :-)

    Enjoy,
    Postmaster.




  8. Re: nfs ops to iops formula?

    On Sun, 19 Feb 2006 23:15:56 GMT, Faeandar
    wrote:

    >On 19 Feb 2006 09:57:53 -0800, "Mike Eisler"
    >wrote:
    >
    >>
    >>Faeandar wrote:
    >>> Is there something that will do this type of conversion? Some formula
    >>> or rule of thumb? Something other than just taking a time sample of
    >>> both sides and averaging it.

    >>
    >>Please define what an nfs op is and what an iop is.

    >
    >Bill is going in the right direction. IOPS would be the OS operations
    >against locallly owned disks (or controllers or Lun's or whatever)
    >whereas NFS ops are operations made against the NFS stack/client.
    >
    >I thought the difference was generally understood but maybe not. What
    >was the reason for your question? Is there theoretically no
    >difference between them?
    >
    >~F


    Ok, all good questions and things I had not considered (blinders on
    right now).

    In the case of a DAS setup it's simple enough to measure IO
    performance with Iozone or Iometer or whatever. With NAS it's simple
    enough to measure IO performance with Iozone or SpecFS. But if I want
    to measure IO performance from end to end (client NFS requests to
    NAS's requests of it's own disks) what are some recommendations for
    doing that?

    My thought was that I could run some benchmarks with an NFS tool and
    capture those metrics, then run the same test again but this time from
    the NAS server. An example:

    Iozone from an NFS client with specific file sizes, record sizes,
    read/write variabls, etc. Then the same spec's on the NAS server to
    it's local disk.

    My concern was the correlation of the two. Maybe I'm over
    complicating this, but suggestions are welcome.

    Thanks.

    ~F

  9. Re: nfs ops to iops formula?


    "Faeandar" wrote in message
    news:i53qv1hjs25nfq5a084ke1att9o8qc0rqc@4ax.com...
    > On Sun, 19 Feb 2006 23:15:56 GMT, Faeandar
    > wrote:
    >
    >>On 19 Feb 2006 09:57:53 -0800, "Mike Eisler"
    >>wrote:
    >>
    >>>
    >>>Faeandar wrote:
    >>>> Is there something that will do this type of conversion? Some formula
    >>>> or rule of thumb? Something other than just taking a time sample of
    >>>> both sides and averaging it.
    >>>
    >>>Please define what an nfs op is and what an iop is.

    >>
    >>Bill is going in the right direction. IOPS would be the OS operations
    >>against locallly owned disks (or controllers or Lun's or whatever)
    >>whereas NFS ops are operations made against the NFS stack/client.
    >>
    >>I thought the difference was generally understood but maybe not. What
    >>was the reason for your question? Is there theoretically no
    >>difference between them?
    >>
    >>~F

    >
    > Ok, all good questions and things I had not considered (blinders on
    > right now).
    >
    > In the case of a DAS setup it's simple enough to measure IO
    > performance with Iozone or Iometer or whatever. With NAS it's simple
    > enough to measure IO performance with Iozone or SpecFS. But if I want
    > to measure IO performance from end to end (client NFS requests to
    > NAS's requests of it's own disks) what are some recommendations for
    > doing that?
    >
    > My thought was that I could run some benchmarks with an NFS tool and
    > capture those metrics, then run the same test again but this time from
    > the NAS server. An example:
    >
    > Iozone from an NFS client with specific file sizes, record sizes,
    > read/write variabls, etc. Then the same spec's on the NAS server to
    > it's local disk.
    >
    > My concern was the correlation of the two. Maybe I'm over
    > complicating this, but suggestions are welcome.
    >
    > Thanks.
    >
    > ~F


    Perhaps one could find a correlation between Iozone running
    on an NFS client (capture NFS traffic with a tcp dump )
    and Iozone running on the local disks in the NAS ?
    This will not resolve the issue of defining the terms NFSop
    and Iop, but it might give the correlation that you are
    looking for :-)

    Enjoy,
    Postmaster



+ Reply to Thread