|Subject||Re: [firebird-support] How to change cpu utilization in Firebird engine?|
On Thu, Jan 5, 2017 at 9:54 PM, trskopo@... [firebird-support] <firstname.lastname@example.org> wrote:
As you know, on a single connection, Firebird's cpu utilization calculate by 100% / no of cores.That's not an arbitrary limit. Firebird is not capable of running a single connection on multiple threads,and a single thread runs only on a single core. Firebird 3 in SuperServer mode can run differentconnections on different threads - a great step forward! - but when there is a single connection itruns on a single thread. Prior to V3, the only way you could use multiple cores was to run Firebirdin Classic or Super Classic mode.
On my 6 cores cpus, its only utilized 100% / 6 = 16%.Right. That's the way it is.During database maintenance & testing (backup, restore, testing, etc) , sometimes, i feel it was to slow.You could try classic, but I suspect that you're running a single connection which cannot be run on more than one core.
I want to change cpu utilization only for my own use. I have downloaded Firebird source code, please help me to point out which codes I should change & if my knowledge is enough is I only have basic C?The Firebird group does not impose the "single core per connection" limit arbitrarily just to annoy users. Breaking a query up so it runs on multiple cores is a hard problem, so I doubt very much that someone with basic C skills and little background in developing database managers would have much success implementing it.Good luck,Ann