Subject | Re: Performance lost with lots of connections |
---|---|
Author | selensky |
Post date | 2007-07-31T08:29:46Z |
Thanks for your reply.
What do you mean temporary files? Firebird temporary files? Would it
help to have them in a separate drive? Why not use a RAM drive?
My page buffers are set to 10 000!!! I have set it up when I was
still using Firebird Superserver. Is this bad with classic? I have
lots of ram and it has never been fully used so far.
query is being executed it slows down everybody else? When multiple
processors doesn't it make sense that the other connections will run
as if they are alone (if the number of CPUs is enough of course)
really interested! Would it be possible to send your firebird.conf
here?
know what it is, but I am not sure why it affects performance badly)
and their computer crashes or a switch goes down (due to a power
surge for example) their connection stays on forever. The only way
to free it, that I have found, is to kill the relevant firebird
instance, but I am seriously afraid that this might damage the
database (even though the CPU is at 0% when I do it). Is there a
better way to kill such a process? How about SuperServer, where you
only have one EXE, how do you kill a specific connection?
If it stays on forever it might even keep a transaction open which
will cause the gap between OAT and OIT to increase and increase....
Yes, defenitely, thanks!
> But, somethingEven with
> you didn't mention and I find very important are the hard drives.
> a small db (for now, but it will grow), since we have manyconnections and
> for data security we choiced to have: 1 SATA drive for the system(os, fb
> binary, and so), 1 SATA drive for temporary files and backup filesand 4 SAS
> drivers on a RAID 10 configuration for the DB file.We use just 2 SAS drives mirrored in RAID.
>
What do you mean temporary files? Firebird temporary files? Would it
help to have them in a separate drive? Why not use a RAM drive?
> page buffers configured to something like 500 (I can't rememberexactly).
My page buffers are set to 10 000!!! I have set it up when I was
still using Firebird Superserver. Is this bad with classic? I have
lots of ram and it has never been fully used so far.
> 1) an accounting application. This app processes the transactionsin a batch
> way, and becouse of a bad design it was slowing down everythingwhen people
> got to start processing weeks of info. As soon the design wasreviewed and
> also bad triggers were re-written things got a lot better.Are you saying that even with all these processors, when a slow
query is being executed it slows down everybody else? When multiple
processors doesn't it make sense that the other connections will run
as if they are alone (if the number of CPUs is enough of course)
> 2) We also had to much 'lock conflics' and we solve that (at aperformance
> point of view) by raising the related configuration atfirebird.conf -- that
> helped A LOT.Please tell me which configuration parameter helped a lot, I am
really interested! Would it be possible to send your firebird.conf
here?
> 3) Another thing we had to 'take care' was some bad codes thatwere
> 'raising' the gap bettween OIT and OAT. Sometimes we had hugedifference
> between them and things got quite slow.Hoes does the gap affect performance? Where can I read about it (I
know what it is, but I am not sure why it affects performance badly)
> Really, the only bad thing we found using this setup was that itseems
> 'dead' clients never get their fb_inet_server released. We'vealready
> changed the default on windows from 2 hours to something small(few minutes)
> but did not see any effect at all -- thats realy annoying -- andcan be
> sometimes a problem. =)Yes, I have the same problem. If someone connects to the database
and their computer crashes or a switch goes down (due to a power
surge for example) their connection stays on forever. The only way
to free it, that I have found, is to kill the relevant firebird
instance, but I am seriously afraid that this might damage the
database (even though the CPU is at 0% when I do it). Is there a
better way to kill such a process? How about SuperServer, where you
only have one EXE, how do you kill a specific connection?
If it stays on forever it might even keep a transaction open which
will cause the gap between OAT and OIT to increase and increase....
> Well, I know this is not exactly what you're looking for but Ihome this info helps get some idea.
Yes, defenitely, thanks!