-
Marc Alff authored
SCHEMA This fix is a performance improvement. 1) When a thread connects, reset of all per thread statistics are now delayed until a statistic is actually collected. This lazy initialization benefits workloads with very short lived sessions, for which instrumentation is disabled. 2) When a thread disconnect, the per thread statistics are aggregated to a parent only for statistics that actually collected data. This optimization benefits workloads with very short lived sessions, for which instrumentation is disabled. 3) For the statement instrumentation, reset of an individual event_name statistic is also now delayed until a statistic is actually collected. This benefit all workloads, because all workloads only contain a few types of statements (SELECT, INSERT, UPDATE, DELETE, ...), from the very long list of statements supported in MySQL. Only statements for event names actually executed are aggregated on disconnect. 4) The memory footprint of internal memory buffers is reduced, by removing some attributes reserved for future use, that were in fact not used. In particular, statistics for mutexes, rwlocks and conditions now need less memory.
Marc Alff authoredSCHEMA This fix is a performance improvement. 1) When a thread connects, reset of all per thread statistics are now delayed until a statistic is actually collected. This lazy initialization benefits workloads with very short lived sessions, for which instrumentation is disabled. 2) When a thread disconnect, the per thread statistics are aggregated to a parent only for statistics that actually collected data. This optimization benefits workloads with very short lived sessions, for which instrumentation is disabled. 3) For the statement instrumentation, reset of an individual event_name statistic is also now delayed until a statistic is actually collected. This benefit all workloads, because all workloads only contain a few types of statements (SELECT, INSERT, UPDATE, DELETE, ...), from the very long list of statements supported in MySQL. Only statements for event names actually executed are aggregated on disconnect. 4) The memory footprint of internal memory buffers is reduced, by removing some attributes reserved for future use, that were in fact not used. In particular, statistics for mutexes, rwlocks and conditions now need less memory.
Loading