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