Subject Repost - Cache Buffers
Author gigmbh
I already posted this issue under the thread "Property Buffer Of
TIB_Connection" but did not get any response.

The rason for this could be :
1.) What I have written is completely nonsens.
2.) Nobody is interrested in.
3.) My description was indefinite.

Normally I would think this should be interresting for anybody using
IB/IBO because performance is allways an issue in DB world.

What I want to say first is that I am new to interbase and also IBO
and that it could be possible that I mixed up anything which leads me
to completely false conclusions. If this is the case take my
apologies for wasting your time.

First I want to summerise what I have collected from the different
IB/IBO ressources and what I found out by testing.

If I refer to cache buffers in the following it is always ment the
number of db pages the server holds in memory per databse for all
simultaneously connections.

IB offers a three stage mechanism for assigning "cache buffers".

1.) Setting cache buffers on the server.
2.) Specifying cache buffers for a database.
3.) Specifying cache buffers when establishing a client connection.

Whenever multiple specifications exist the latter allways overwrites
the former with reference to the order specified above.

If different values are specified on the same level (this is only
possible for 3.) the highest one counts and stays valid until all
connections to a database are closed.

IBO allways specifies the cach buffers (it allways sends the DBP
item "isc_dpb_num_buffers") when establishing a connection even if
you leave the default value of 75 untouched.

This would lead to the fact that if you have an environment where a
database is only acessed via IBO applications the server cache for
the database it set to 75!!! pages and all settings made on the
server or for the database are simply ignored.

Simply increasing the value in your app is not possible in a
satisfactory way becasue values highter than 255 are refused whereas
the doks state that this could be an integer value. I have no idea
why this happens.

Any comments or suggestions on this ?
Thank's for taking the time.
Frank Gruber
[GIG mbH Berlin/Germany]