Read-only transactions in SuperServer could not write Header and TIP pages immediately after edit -------------------------------------------------------------------------------------------------
Key: CORE-5434 URL: http://tracker.firebirdsql.org/browse/CORE-5434 Project: Firebird Core Issue Type: Improvement Components: Engine Reporter: Vlad Khorsun Currently engine writes contents of Header and TIP pages to disk immediately after any change (for ex. transaction start increments value of "Next transaction" counter, commit changes transaction state etc). I.e. Header and TIP pages are written to disk not waiting for commit (flush). This was done by at least two major reasons: a) safety b) in CS (and SC) page locks for Header and TIP pages is released immediately after use to avoid AST overhead In the case of many light read-only transactions these writes makes almost 100% of whole transaction time. Since read-only transactions does not change data it is safe to update on disk contents of Header and TIP pages somewhat later, for example when write transaction started (or committed) or when whole page cache is flushed at database shutdown. Note, reason (b) doesn't affect SuperServer. So, improvement is that read-only transaction will not force write of Header\TIP page content to disk immediately after change (in SS mode, of course). In the case of many light read-only transactions it gives significant performance gain. PS to address this issue in CS mode there is more complex solution, probably it will be implemented in v4 a bit later -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel