On Wed, Apr 22, 2009 at 5:31 AM, Bob Friesenhahn <
[email protected]> wrote:

>
> One obvious wrong assumption is the assumption that the switch is a "store
> and forward" device.  Modern ethernet switches only consume enough data to
> validate the ethernet packet header before they start sending data on to the
> destination.  This results in delays in the low microseconds.  Unless the
> outbound switch port is overloaded, you should ignore the switch entirely.
>  Normal switched ethernet is full-duplex.  There is no need to divide by two
> for the switch.
>

You are right, the switch latency for 1500 byte packet is around 14.5us



> Modern NFS uses TCP so the Naggle algorithm could become significant if the
> writes are very small (not applicable for your large packet).
>
> I have measured NFS write rates of about 90MB/second using 32KB blocks and
> using a lowly 4-year old SPARC workstation with Solaris 10 as a client.  The
> individual block writes might not have been synchronous though since NFSv4
> supports a 'commit' feature.
>


If we turn this around - with 32KB NFS blocks in order to get 90MB you need
about 2900 iops or .35 ms path latency. Network latency (*) on 32KB is at
least .28ms.  So .07 ms is left for the sync to disk. I doubt this is
possible with rotational disk - even with a RAID0 array. According to the
numbers I have I'd say it is possible with a strip of eight X25-M SSD drives
or maybe 4 STEC Zeus SSD drives.

Was this number with nfs+zfs or ufs?  I thought zfs was more strict with NFS
and did not allow the commit  to memory NFS3+ version of sync NFS.


(*) Corrected at 32/125 +.015 = .27 ms. This ignores any overhead, so lets
say .28ms.


Nicholas
_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss

Reply via email to