Subject | AW: [firebird-support] One Transaction can PEG XEON cpu @ 100% starving others |
---|---|
Author | Steffen Heil |
Post date | 2005-01-25T16:01:03Z |
Hi
However some first answers from me:
Xean CPUs have Hyperthreading enabled by default, which acts as two cpus.
As current firebird superserver builds are not SMP compilant and tend to
switch between then over and back all the time.
(BTW, which server model are you using and which os ?)
Classic server is said to work a litte better with SMP.
And even with one firebird, you should set affinity to one virtual cpu only.
This will make firebird superserver way faster.
You may never access a database file with anything else while it is using
the database, not even another firebird instance.
Anyway, this is the way classis server handles connections. One process
each.
Try setting affinity.
Regards,
Steffen
[Non-text portions of this message have been removed]
> Our application pegs the Firebird XEON CPU at 100% under highThis is a known problem and others will answer more precisely.
> load, rendering the application unresponsive. Is it possible to:
However some first answers from me:
Xean CPUs have Hyperthreading enabled by default, which acts as two cpus.
As current firebird superserver builds are not SMP compilant and tend to
switch between then over and back all the time.
(BTW, which server model are you using and which os ?)
Classic server is said to work a litte better with SMP.
> a) run multiple instances of Firebird on the same machine onYes.
> a seperate CPU
And even with one firebird, you should set affinity to one virtual cpu only.
This will make firebird superserver way faster.
> b) have both instances updating the same database file. WhatNo. Never.
> are the contention/corruption issues?
You may never access a database file with anything else while it is using
the database, not even another firebird instance.
Anyway, this is the way classis server handles connections. One process
each.
> c) how can we prevent one database connection fromThat should never happen.
> monopolizing Firebird. One transaction from a single
> connection can peg Firebird 's CPU utilization at 100%
> causing other connections to be starved to the point they are
> dropped, and new ones are denied.
Try setting affinity.
Regards,
Steffen
[Non-text portions of this message have been removed]