[ENBD] 2.4.32

Peter T. Breuer ptb at it.uc3m.es
Fri Mar 5 11:23:06 MST 2004


"Also sprach Anders Blomdell:"
> Under heavy load (e.g mkfs.ext3 /dev/md0 on all 3 servers) I get a lot of:
> 
> enbd-server  4265: <#1207> do_srv_write request for nonblock offset at 
> 0x28139c00 (672373760) seqno 278259 len 1024
> enbd-server  4267: <#1211> do_srv_write request for nonblock length at 
> 0x2813b800 (672380928) seqno 278266 len 1024
> 
> After which /proc/mdstat reports:

I forgot to say that your report is very interesting and I want very
much to see /rpoc/nbdinfo.

And if you have some advice about how to choose the blocksize
then I would be very happy to listen to it! 

If the server blocksize is large and the client blocksize is small
(which I think is what happens here), then small blocks from the
client will be written as large blocks on the server, provoking a
prior read from the server disk to pad the result. This may slow
things down by as much as three times, and is generally not good for
speed.

However, if the client blocksize is large and the server blocksize is
small, then we always write more than is necessary across the net, 
which may also slow things down. I believe that in the initial
negotiations, both server and client offer a blocksize and they 
settle on the _largest_ of the two. I don't know if that is a good
tactic.

Peter



More information about the ENBD mailing list