Skip to content
  • Marc Alff's avatar
    4993303a
    Bug#18324285 PERFORMANCE OVERHEAD IN CONNECT DISCONNECT WITH PERFORMANCE · 4993303a
    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.
    4993303a
    Bug#18324285 PERFORMANCE OVERHEAD IN CONNECT DISCONNECT WITH PERFORMANCE
    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.
Loading