#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Oct 2010
    Posts
    7
    Rep Power
    0

    Firebird gets slower and slower, then crashes


    We have a firebird 1.5 database that is constantly synchronising data from another source. This means lots of update statments are being performed.

    A single sync involves updating around 25,000 records every 15mins.

    This process starts quite fast, it complete the 25,000 updates in around 60seconds (during which CPU is at 100%) Each sync process gradually gets slower and slower. The firebird process uses more and more memory (but only around 1GB in total). The database also grows larger and larger when it reaches around 1.2GB it crashes with a deadlock error.

    I understand the database growth, because presumably an update leaves an old copy of the record in the database. What is causing the slowdown and the memory usage?

    Is there anything I can do to reduce the slowdown, and the crashing?
  2. #2
  3. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2006
    Location
    Plovdiv. Bulgaria
    Posts
    224
    Rep Power
    12
    I think that there is an active transaction which is not commited. And Firebird keep information between oldest active transaction and current transaction. If you were using FB 2.1 or 2.5 you could see active connections trough MON tables, but now you must check your code for some forgotten transaction. I've seen how Firebird release 800MB of memory when I've closed an application with similar problem after two days of continues working.

IMN logo majestic logo threadwatch logo seochat tools logo