Re: howto boost write(2) performance?

From: Boaz Harrosh
Date: Tue Oct 09 2007 - 11:42:25 EST


On Tue, Oct 09 2007 at 16:56 +0200, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
> Michael Stiller <ms@xxxxxxxxxx> writes:
>> The write(2) performance is not good enough, the writer threads take to
>> much time, and i ask you for ideas, howto to boost the write
>> performance.
>
> You could use an O_DIRECT write if the data is suitably aligned
> and your IO sizes are big enough (O_DIRECT is usually a loss
> on small IOs). It will also be synchronous, but if you do it
> from a separate thread anyways that should be fine.
>
> -Andi

If your target is a SCSI target you can gain up to 15% by using
sg. Search on the net for the "sg utils" package. The source code
of sg_dd and others are a grate example of how to do it.

Other wise O_DIRECT is your friend. Also look for asynchronous
I/O so you have a few pending IO buffers to keep the pipes full.

Boaz

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/