-1

Reading http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Perf-tun-srv.docx on page 47 the interaction between the SMB drivers (srv.sys on SMB 1.1 and srv2.sys on SMB 2.0) and the NTFS driver (ntfs.sys) is noted.

What is the read and write size of these drivers?

What is the best stripe size for a file server?

Thanks,

Matt

0

1 Answer 1

1

http://blogs.msdn.com/b/openspecification/archive/2009/04/10/smb-maximum-transmit-buffer-size-and-performance-tuning.aspx

If CAP_LARGE_READX or CAP_LARGE_WRITEX capability is enabled on the SMB Negotiate Server Response, the maximum buffer size used is 61440 (60K) for large read( SMB_COM_ READ_ANDX ) and 65535 (64K) for large write (SMB_COM_WRITE_ANDX) , regardless of MaxBufferSize. But this is only true if the SMB signing is not turned on

But this has nothing to do with the "best stripe size", it is just a network protocol specification. The determination of the "best" stripe size would be based on your data read and write patterns. For large, sequential reads and writes you would chose a large stripe size. Small random I/O requests would ask for a smaller stripe size.

You can monitor the Avg. disk bytes / operation physical disk perfmon counter to get a rough idea about the typical request size of your I/O load.

2
  • Thanks. I suppose I was wondering what flush size is used by the SMB driver(s), since they, themselves, would be buffering writes, then flushing them to the disk driver subsystem. The method of measuring you describe is the method described in the doc: redbooks.ibm.com/abstracts/sg245287.html
    – brandeded
    Jan 25, 2012 at 13:28
  • @mbrownnyc I would assume that the entire buffer reserved for a WRITE-ANDX request is flushed at once. As it would get caught by the cache and delayed for writes, you might see different request sizes.
    – the-wabbit
    Jan 25, 2012 at 14:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .