Windows IOZONE rewrite performance ... Local, W2W and W2Samba

Richard Sharpe rsharpe at
Wed Oct 27 21:19:11 GMT 2004


I have been doing some work with IOZONE (3.221) and am seeing an
interesting anomaly ...

What we are seeing is that IOZONE rewrite BW is consistently a half to a
third of the write BW, regardless of whether we are testing W2K against
local disk, against W2K or Samba.

To quote some numbers:

  W2K to local disk: Write = 35.6MB/s, ReWrite = 12MB/s
  W2K to W2K:        Write = 20.0MB/s, ReWrite =  7MB/s

The rewrite BW seems to be that low because W2K seems to use a
read-modify-write approach to writing the file, at least over the network,
where we see continuous 4kB reads of the file from offset 0 to the end.
After a while, we see 64kB writes as the client starts to flush its cache.

This behavior seems, ummm, somewhat sub-optimal from a couple of points of

 1. Since the client is doing block aligned writes at what appears to be
the W2K block size (64kB), it should not have to read the blocks first.

 2. Since the protocol supports writes anywhere in a file, it should not
have to do the reads.

Does anyone know of a registry setting to switch that behavior off?

Has anyone seen this behavior? The test machines are 2.4GHz P4 Xeons with
1GB of Ram and 70GB 7200rpm IDE 133 drives with W2Ksp4.

Richard Sharpe, rsharpe[at], rsharpe[at],

More information about the samba-technical mailing list