Subject RE: [firebird-support] Question about Firebird disk performance
Author Leyne, Sean
> I run a test on a small database, around 128MB using Firebird 2.5 64 bit
> superserver and the test condition is like these :
>
> 1) Put database completely on RAM, set DefaultDbCachePages = 2048 and
> FileSystemCacheThreshold = 0
> 2) Put database completely on disk, set DefaultDbCachePages = 2048 and
> FileSystemCacheThreshold = 0
> 3) Put database completely on RAM, set DefaultDbCachePages = 2048 and
> FileSystemCacheThreshold = 65536
> 4) Put database completely on disk, set DefaultDbCachePages = 2048 and
> FileSystemCacheThreshold = 65536
>
>
> I do some extensive select sql on this database, time to finished on each
> conditions are :
> 1) +/- 37 sec
> 2) unknown since it seems took a very long time that I must ended with
> task manager
> 3) +/- 6 sec
> 4) +/- 6 sec
>
> From those result, I don't understand why result from test condition 1
> (which is, database completely on RAM) is slower than condition 3 and 4.
>
> Isn't test condition 1,3 & 4, all running on RAM?

Yes, but RAM disk is not the same as RAM. Further, some RAM disk drivers are much better than others.

Sometime ago, I found an analysis/comparison of various RAM Disk drivers. Although the analysis was a couple of years old, it did find that there are substantial performance differences between drivers.

I can see if I can find the link, if you'd like.


Separately, did you run all the tests from the same state -- ie. a fresh reboot. If not, test #1 would be paying the cost to load all of the pages into the OS cache, whereas the other tests would not. Either reboot between tests, or create a pre-test pass which would force the database to be loaded and then run the tests.


Sean