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

    Join Date
    May 2012
    Posts
    4
    Rep Power
    0

    Firebird performance


    Hi,
    I created application which writing to database some records.
    When I am making one transaction per 200 ms everything is ok, but if frequency increases to 10 ms (one transaction per 10 ms) after few hours time for execute transaction increases to dozen minutes. Buffer in application becames biger and bigger. After this, when I disconnect from FBServer, I see in process manager that this process takes 25% CPU and it doesn't falling.

    What is a limit to the number of transactions per unit time for forebird ? How I can calculate this ?

    I am using Firebird super server 2.5.1 (32bit) on Win7-64bit.
  2. #2
  3. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2006
    Location
    Plovdiv. Bulgaria
    Posts
    226
    Rep Power
    12
    Do you commit the transactions after you made them?
  4. #3
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    May 2012
    Posts
    4
    Rep Power
    0
    Yes, I commit transactions
  6. #4
  7. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2006
    Location
    Plovdiv. Bulgaria
    Posts
    226
    Rep Power
    12
    How do you commit transactions - with commit or commitretrainig?
    Do you have any tool that you can use to see database statistics - oldest active transaction, next transaction etc. And when firebird begin to run slow to see what are the values. Because this look like that you have very big difference between oldest active transaction and next transaction, or too much operations done in the same transaction for a long time.
  8. #5
  9. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    May 2012
    Posts
    4
    Rep Power
    0
    I commit all transactions but if appear any exception I make roll back transaction. I must install ibexpert (I am using flamerobin now).

    What does You mean: "big difference between oldest active transaction and next transaction" ?

    Is firebird has any time restriction for executing transaction ?

    I thought, If you do one transaction, the next operation I could do only if the first end, and firebird will lock the other operations on this tables.
  10. #6
  11. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2006
    Location
    Plovdiv. Bulgaria
    Posts
    226
    Rep Power
    12
    Originally Posted by hpLukasz
    I commit all transactions but if appear any exception I make roll back transaction. I must install ibexpert (I am using flamerobin now).

    What does You mean: "big difference between oldest active transaction and next transaction" ?

    Is firebird has any time restriction for executing transaction ?

    I thought, If you do one transaction, the next operation I could do only if the first end, and firebird will lock the other operations on this tables.
    Because you can have many connections to one database and many actions trough those connections with different transactions at the same time, Firebird keeps information about all active transactions so when one transactions is commited to know what data to show after that. And with every new active transaction Firebird makes a copy of the information about all currently active transactions. So when one transaction is active for too long and new transactions continue to appear this drop the performance, because Firebird needs to keep too much data. In the database header page there is an information about the oldest active transaction number and the next transaction number. If the difference between them is big this mean that there is something wrong and it's good idea to check how the database is used.
    Check this topic - there is some information about that.
  12. #7
  13. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    May 2012
    Posts
    4
    Rep Power
    0
    Thanks for information.

IMN logo majestic logo threadwatch logo seochat tools logo