Subject | Firebird Restarting part 3 |
---|---|
Author | Michael Vilhelmsen |
Post date | 2007-01-04T09:58:24Z |
Hi All
So - Now my DB has been running some 10 days without any problems.
The Firebird server hasn't restarted sinse I disabled the sweep.
The Firebird version 1.5.3 SS is running on Windows 2003 32 bits, dual
core CPU and 2 Gb RAM.
There are around 50 - 200 connected users at one time.
Our problem here was two things:
- The amount of connected user.
- The way our appl. is designed and / or the way the users use our
program.
Our program was, that during the last 2 months, the firebird server
started to restart every once in a while. Always with the error, that
there was no more RAM available to firebird.
We switched between a 64 Bits OS (Windows) and a 32 Bits OS (Windows),
but the problem was still there.
The after some observations we found that when sweep kicked in in the
afternoon, the memory use increased.
So first step was disabling the sweep, and have it running manually
every nigth.
This actually solved our problem.
But this customer uses our program in a way no other does.
They OFTEN do report, look up data - Well whatever they can do to have
a long running query. And they very often just leave the machine.
Now I have coded a timer in our program.
This will fire every 60 minutes of inactivity (maybe it'll be less in
the future) and then close everything, commit and closing the program
nicely.
This last part has caused two things.
1.
The gab between the transactions is smaller than before.
Still its between 10.000 and 120.000, but before it could be as big as
250.000.
Whenever thelast user disconnects - The gab is down to 1.
2.
The memory use of our Terminal Server isn't as big as before.
So all in all I thank all who has helped solve my problem.
Now we are waiting for the 64 Bit version of Firebird 2.
Then we'll migrate from 1.5.3 to 2.
Regards
Michael
So - Now my DB has been running some 10 days without any problems.
The Firebird server hasn't restarted sinse I disabled the sweep.
The Firebird version 1.5.3 SS is running on Windows 2003 32 bits, dual
core CPU and 2 Gb RAM.
There are around 50 - 200 connected users at one time.
Our problem here was two things:
- The amount of connected user.
- The way our appl. is designed and / or the way the users use our
program.
Our program was, that during the last 2 months, the firebird server
started to restart every once in a while. Always with the error, that
there was no more RAM available to firebird.
We switched between a 64 Bits OS (Windows) and a 32 Bits OS (Windows),
but the problem was still there.
The after some observations we found that when sweep kicked in in the
afternoon, the memory use increased.
So first step was disabling the sweep, and have it running manually
every nigth.
This actually solved our problem.
But this customer uses our program in a way no other does.
They OFTEN do report, look up data - Well whatever they can do to have
a long running query. And they very often just leave the machine.
Now I have coded a timer in our program.
This will fire every 60 minutes of inactivity (maybe it'll be less in
the future) and then close everything, commit and closing the program
nicely.
This last part has caused two things.
1.
The gab between the transactions is smaller than before.
Still its between 10.000 and 120.000, but before it could be as big as
250.000.
Whenever thelast user disconnects - The gab is down to 1.
2.
The memory use of our Terminal Server isn't as big as before.
So all in all I thank all who has helped solve my problem.
Now we are waiting for the 64 Bit version of Firebird 2.
Then we'll migrate from 1.5.3 to 2.
Regards
Michael