Subject | Re: [firebird-support] Re: FB database in RAM - Email found in subject |
---|---|
Author | Kjell Rilbe |
Post date | 2011-08-09T08:04:54Z |
Den 2011-08-09 09:48 skrev Thomas Steinmaurer såhär:
ECO to use multiple connections and ECO space pooling. With 8 cores I
guess up to eight connections will be useful, but perhaps no more than that.
about it. Not sure the FB ADO.Net provider supports it...
Kjell
--
--------------------------------------
Kjell Rilbe
DataDIA AB
E-post: kjell@...
Telefon: 08-761 06 55
Mobil: 0733-44 24 64
>> Den 2011-08-09 09:12 skrev Thomas Steinmaurer såhär:Might work, yes. Thanks for the idea.
>> Do you mean that it's really a waste of RAM to put the entire DB there
>> for fast searches, and that it's probably better to configure a large
>> page cashe and put the temp data on a RAM disk?
>
> I would rather like to see my databases on a fast persistent storage and
> not RAM and tune RAM usage via page caching, temp data caching etc ...
>
>> I guess that would work well, assuming that
>>
>> 1. it is not a problem that the searches are slow until all relevant
>> pages have been cached,
>>
>> 2. writes do not have to be fast,
>>
>> 3. the page cache can be made large enough for all the relevant pages to
>> fit.
>>
>> For us, point 1 is not OK. We have to be fast even after a fresh reboot.
>
> Hmm, you could run a SELECT COUNT(*) on all or the most important tables
> at startup, in the night etc ... which basically loads pages from disk
> into memory/cache, if there is enough page cache available.
>> Point 2 and 3 would be OK I think, especially since our classic modeGood point. It's already on my to do list to investigate how to setup
>> server is really only accessed by one or a few connections (currently a
>> single one).
>
> The problem with one connection is that a single connection (one process
> in CS) still can only use one CPU/core, so you are basically stuck with
> the max. processing power of a single CPU/core.
>
> Even if you have pages etc. in memory, this stuff needs to be processed
> by the CPU as well. As Firebird does not cache particular result sets in
> memory but pages, Firebird needs to process pages (even in memory) to
> execute a statement each time the statement is executed.
ECO to use multiple connections and ECO space pooling. With 8 cores I
guess up to eight connections will be useful, but perhaps no more than that.
> In respect to the page cache in Classic. You know its the page buffersInteresting, but may not be relevant in our case. I'll have to think
> value per connection. Configuration can get hard with a growing number
> of connections, where possibly only one connection need a larger page
> cache. With Classic, there is also a way to define a temporary page
> buffers value at connect time, valid only in context of the connection.
> Pretty useful, but your access components need to support that, I think.
> E.g. isql has a CACHE clause for the CONNECT statement. I tend to use a
> higher temporary cache e.g. when creating indices on largish tables,
> because the index creation task loves more memory.
about it. Not sure the FB ADO.Net provider supports it...
Kjell
--
--------------------------------------
Kjell Rilbe
DataDIA AB
E-post: kjell@...
Telefon: 08-761 06 55
Mobil: 0733-44 24 64