Subject | Re: Negative impact on system performance querying monitoring tables. |
---|---|
Author | Dmitry Yemanov |
Post date | 2019-10-04T13:18:49Z |
04.10.2019 15:50, Mark Rotteveel wrote:
In v2.5, pending MON$ requests could also [temporarily] block other
connections' operations, thus decreasing the overall performance. This
was improved in v3 to reduce the cross-locking with other connections.
But generally, your message is absolutely correct.
Dmitry
> The problem is inherent to the monitoring tables. If you query oneJust an addition:
> monitoring table, Firebird needs to collect and prepare a snapshot of
> the data for all other monitoring tables to be able to provide a stable
> and consistent view of the monitoring tables in your current
> transaction. If you do this a lot, then it will need to repeatedly spend
> that time, which can have an impact on performance, because the cost of
> that data collection is non-zero (.
>
> So, the problem can't really be fixed, because that data collection will
> need to happen and doing the collection takes time (CPU) and memory.
In v2.5, pending MON$ requests could also [temporarily] block other
connections' operations, thus decreasing the overall performance. This
was improved in v3 to reduce the cross-locking with other connections.
But generally, your message is absolutely correct.
Dmitry