Subject | Re: Help Firebird Crashing every day |
---|---|
Author | zvjezdantomicevic |
Post date | 2010-04-23T12:31:57Z |
--- In firebird-support@yahoogroups.com, "nftnicolas" <nftnicolas@...> wrote:
In my case it was antivirus software. (1 week of heavy FLAK and hair pulling)
Every time antivirus software was checking files, it changed timestamp on actual files, which IIS interprets as filechange and restarts webaplication. It manifests as abortion of firebird connections, and just stops all webaplications and freezes everything at irregular intervals.
We changed antivirus software (from mccafe to norton at that time).
You can also exclude inetpub and all directories used by IIS from scaning.
2. You can download sinatica monitor for firebird (30 days trial), fire it up and monitor database in real time. I suggest that you use superserver while doing this. If there are any unoptimized time consuming queries, you will find them in no time. Time consuming queries can be your problem
3. If your database is updated a lot, and you use default .net transaction (IsolationLevel.ReadCommitted) while reading data, WRITERS BLOCK READERS. To utilize firebird concurrency options, make sure that all read operations use concurrency transactions. I personnaly use IsolationLevel.RepeatableRead.
4. Autosweep can cause trouble if it executes during heavy load. Disable autosweep for database, and run it as a task in offline hours. (3AM)
5. If you are using 64bit os, if your file grows larger than RAM you will get into trouble (Filesystem caching problem).
Try using superserver, configure it so it uses a lot of RAM for your database, and disable FileSystemCaching.
In firebird.conf set:
DefaultDbCachePages = 32768
(uses 1G of ram for your database, so your whole DB can be cached in RAM),
MaxFileSystemCache = 0 (to disable filesystem cache).
If you use firebird 2.5, you can limit filesystem cache, but for 2.1.3 you can do this.
Because you use only one database, try using superserver.
Only downside is that it uses only one core, but utilizes resources better. You can even designate specific core/cpu to it in firebird.conf.
Hope that this helps.
>I had same problems.
>
>
> --- In firebird-support@yahoogroups.com, "zvjezdantomicevic" <zvjezdantomicevic@> wrote:
> >
> >
> >
> >
> >
> >
> > --- In firebird-support@yahoogroups.com, "nftnicolas" <nftnicolas@> wrote:
> > >
> > > Hello
> > >
> > > i have a windows server 2008 web 64 bit , with firebird 2.1.3
> > >
> > > and all conections are made localy but we have a lot of them.
> > >
> > > this problem is ocurring by months now but recently becomed critical because my boss is realy angry
> > >
> > > so the problem is that the user is working ok ant them the server stop acepting conections on firebird so i locked on the log and says this
> > >
> > > WIN-XXXXXXXXXX Wed Apr 21 14:26:32 2010
> > > INET/inet_error: bind errno = 10048
> > >
> > >
> > > WIN-XXXXXXXXXX Wed Apr 21 14:26:32 2010
> > > Database:
> > > Unable to complete network request to host "WIN-XXXXXXXXXX".
> > > Error while listening for an incoming connection.
> > > Only one usage of each socket address (protocol/network address/port) is normally permitted.
> > >
> > > Someone can help ?
> > >
> > > Tanks
> > >
> > Reasons could be many.
> > How big is your database, and do you operate with one or several databases?
> > Do you have both web site and lan users connecting to FBserver?
> > Do you use firebird events?
> >
>
>
> Hello here the answers
>
> 1) The database size is 1442 MB
> 2) We work with only one database
> 3) Only websites
> 4) we not use firebird events
>
In my case it was antivirus software. (1 week of heavy FLAK and hair pulling)
Every time antivirus software was checking files, it changed timestamp on actual files, which IIS interprets as filechange and restarts webaplication. It manifests as abortion of firebird connections, and just stops all webaplications and freezes everything at irregular intervals.
We changed antivirus software (from mccafe to norton at that time).
You can also exclude inetpub and all directories used by IIS from scaning.
2. You can download sinatica monitor for firebird (30 days trial), fire it up and monitor database in real time. I suggest that you use superserver while doing this. If there are any unoptimized time consuming queries, you will find them in no time. Time consuming queries can be your problem
3. If your database is updated a lot, and you use default .net transaction (IsolationLevel.ReadCommitted) while reading data, WRITERS BLOCK READERS. To utilize firebird concurrency options, make sure that all read operations use concurrency transactions. I personnaly use IsolationLevel.RepeatableRead.
4. Autosweep can cause trouble if it executes during heavy load. Disable autosweep for database, and run it as a task in offline hours. (3AM)
5. If you are using 64bit os, if your file grows larger than RAM you will get into trouble (Filesystem caching problem).
Try using superserver, configure it so it uses a lot of RAM for your database, and disable FileSystemCaching.
In firebird.conf set:
DefaultDbCachePages = 32768
(uses 1G of ram for your database, so your whole DB can be cached in RAM),
MaxFileSystemCache = 0 (to disable filesystem cache).
If you use firebird 2.5, you can limit filesystem cache, but for 2.1.3 you can do this.
Because you use only one database, try using superserver.
Only downside is that it uses only one core, but utilizes resources better. You can even designate specific core/cpu to it in firebird.conf.
Hope that this helps.