[DRBD-user] Performance-Test (was: Performance Problem with Informix Database Server)

Lars Ellenberg Lars.Ellenberg at linbit.com
Mon Sep 20 11:58:21 CEST 2004

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


/ 2004-09-14 08:52:16 +0200
\ Thomas Dingermann:
> Informix-Dynamix-Server does writes in "cooked files" (normal Files, not 
> Raw-Devices) like the test-program attached here.
> 
> It simulates writes with the Informix AIO-VPs - they are done with O_SYNC, 
> so there will never be more than 2kB loss in case of a crash.
> 
> I dont know why my Sybase-SQL-Anywhere has no performance problem -Informix 
> has.
> 
> 
> Compile: 
> gcc tproc.c -o tprog
> 
> Create the testfile:
> cd /path/to/drbd/mounted/file/system; touch testfile
> 
> Test performance: 
> time /.../tprog 
> 
> Look at your IO:
> vmstat 
> 
> I have around 150 Blocks/sec
> 
> Any ideas how to tune this?

probably no way.
I just tested on my home box, in a regular file system.
nothing special, local, fast ide drive etc.
your proggie makes ca 1000 kB/second when writing to a previously
truncated file with 4096bytes per write, much less with 2048 bytes per
write, even less with an explicit fsync/fdatasync after each write
(in the case of f(data)sync, using O_SYNC or not makes no difference, of
course).

it will be much faster if the file already is big enough, so
the fs does not need to reallocate the neccessary blocks.

the actual throughput of the proggie and what vmstat shows
are therefore not the same at all...

now, if you only consider write latency, and you add together local disk
latency, tcp latency, remote disk latency, (and maybe scheduling latency
of drbd threads and callbacks), you will have the same effect as if
using a slow and high latency local disk only.

I think, dropping to about 1/4 to 1/6 of the local throughput can be expected.

any comments on this from a benchmark guy?

	lge



More information about the drbd-user mailing list