aio_read template.

David Collier-Brown David.Collier-Brown at Sun.COM
Wed Jun 8 12:49:49 GMT 2005

   I had a similar problem about a year ago with I/O from a large 
array, where either misordering or reads of ridiculous sizes coming
from NT Media Server (of all the things that should try to stream reads!) 
would result in pessimal throughput.
  I found that a simple buffered read of the stripe width would
make it optimal, and that had the side-effect of improving
normal I/O from Solaris UFS and QFS.


Volker Lendecke wrote:
> On Wed, Jun 08, 2005 at 11:20:37AM +1000, James Peach wrote:
>>Jeremy, do you have a specific workload where using aio would help?
> The specific workload is an application reading multiple large data streams
> simultaneously. The application itself reads sequentially, but the Win32 layer
> of XPSP2 messes that up, so the Samba server sees nonsequential reads. The
> Samba server has a cluster file system in the backend which depends on read
> prediction that only hits when it sees sequential reads. With a pure unix
> program for sequential reads I get about 350MB/sec out of this box, with the
> pattern XPSP2 gives me it drops to about 60-80MB/sec, but sort of
> varying. Feeding the kernel with the same pattern (multiple data streams) in
> an AIO fashion I can bump that back to 140MB/sec. This is probably enough to
> again saturate a gigabit link if you take the win32/smb/samba overhead into
> account.
> Volker

David Collier-Brown,      | Always do right. This will gratify
Sun Microsystems, Toronto | some people and astonish the rest
davecb at     |                      -- Mark Twain
(416) 263-5733 (x65733)   |

More information about the samba-technical mailing list