Subject Re: [IB-Architect] SUPERSERVER_V2
Author Dmitry Kuzmenko
Hello, Ann!

Ann Harrison wrote:

> >I can't believe that eliminating unneccesary OS buffering will
> >decrease performance. It is simple to look into TaskManager when
> >select count(*) is made on a big table:
> >While IB is reading pages into it's cache, they are also being read
> >(before IB) into OS File Cache. So, availavle memory decreases, which
> >can reduce OS performance (and IB's too). Isn't it?
> Running out of memory isn't usually a problem on modern machines.
> Avoiding reading the same page twice is often a help and if the
> page stays in the OS cache after the IB cache throws it out, that's
> a win, of sorts.

I've tested NO_BUFFERING and surrender :-) Results were incredible,
but too much dependent on read/write block size. The less is block size,
the higher is processor load. So, it will be too complex to
understand what performance user will got on his configuration
setting NO_BUFFERING flag.

The only one thing, where NO_BUFFERING is faster, is write. Of course
only against "force writes=on" mode.

If anybody interested, I can make a table with test results,
but it was made on IDE drive. I'm sure that on SCSI drive there will
be another results (very different from IDE).

p.s. have not tested IO_OVERLAPPED, because I've thought it's completely
another thing than no_buffering.

p.p.s. I think it is not a big problem to add no_buffering flag like
force_write flag, and some kamikadze can use it on their own risk.
I mean there can be some clever HDD controllers that will work better
than OS cache. :-)

Dmitry Kuzmenko, Epsylon Technologies.