Details
-
Task
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
None
Description
Percona server has some useful InnoDB status information in the slow query log.
The Percona Performance Monitor can provide useful graphs from these
This task is to add some of the most useful ones, but with less code.
The code should also be engine independent, so that it is easy to add
monitoring of other engines!
The current task will add the following new information to the slow query log if enabled with
--log-slow-verbosity=innodb
# Pages_accessed: 184 Pages_read: 95 Pages_updated: 0 Undo_rows_read: 1 |
# Pages_read_time: 17.0204 Engine_time: 248.1297 |
Engine_time is how many milliseconds is spent inside engine calls (similar as with analyze).
Page_* variables are for now only for InnoDB.
Attachments
Issue Links
- causes
-
MDEV-30875 main.analyze_stmt_orderby/rowid_filter_innodb/explain_json_format_partitions (+ 7 more) fails on Launchpad armhf builders
-
- Closed
-
-
MDEV-32159 AIX crash on mariadbd --bootstrap - invalid mariadb_stats pointer
-
- Closed
-
-
MDEV-32910 cycles can overflow and result in large explain json=X measurements
-
- Stalled
-
-
MDEV-34296 extern thread_local is a CPU waste
-
- Closed
-
- relates to
-
MDEV-31577 Make ANALYZE FORMAT=JSON print innodb stats
-
- Closed
-
-
MDEV-31589 Secondary index MVCC access is unnecessarily inefficient
-
- Stalled
-
-
MDEV-34190 ANALYZE: r_engine_stats shows unrealistically low pages_read_count
-
- Closed
-
To assess the impact of purge lag (
MDEV-29401), it could be useful to separately track the reads of pages that reside in the undo tablespaces, or in the system tablespace. That is, we could have a separate System_pages_read or System_pages_accessed. I do not currently have an idea how to do this without adding conditional branches (which destroy the performance of superscalar CPUs). For the Pages_read counter, which would cover reads from the file system to the buffer pool, we can afford to add a condition, because that code path is slow and hopefully rarely invoked.Possibly, we could add another counter at the high level (say, trx_undo_prev_version_build(), row_vers_impl_x_locked_low()) for tracking undo log record access, and let the page counters cover all types of page reads.