...
- Ignite and plugins versions, topology changes, profiling start/end time
- Queries (SQL, scan, ..) timings, resources:
- Queries that took up the most time
- Slowest queries
- Most frequent queries
- Failing queries
- Queries count by type
- Queries that took up the most CPU/IO/Disk
- User tasks timings, resources (similar to queries)
- Caches and cache operations statisticsCache operations statistics (similar to queries):
- Get/Put/Remove
- RemoveAndGet
- PutAndGetTransactions
- Invoke
- Lock
- create/destroy caches
- Workload by nodesTransactions commit/rollback timings
- Checkpoints statistics
- WAL statistics
- PME statistics
Additional investigation required to gather following statistics:
...
The Ignite will log some additional internal statistics using separate log category of IgniteLoggerperformance statistics to profiling files. The format is like WAL logging.
One disk-writer thread and off-heap memory buffer will be used to minimize affect on performance. Maximum file size and buffer size can be configured on start.
The new ignite-profiling
module extension performance-statistics-ext
module will be introduced. It will contain :
...
the tool to build the report: build-report.sh(bat).
The JSON format is used to store aggregated statistics and next draw in the report.
The report is based on the bootstrap library and can be viewed in a browser offline.
Management
1) JMX:
PerformanceStatisticsMBean
void start()
// Start collecting performance statistics in the cluster.void stop()
// Stop collecting performance statistics in the cluster.boolean enabled()
// True if collecting performance statistics enabled.
2)
...
Public API changes
...
Control.sh utility. Functionality is like JMX.
3) System properties:
- IGNITE_PERF_STAT_FILE_MAX_SIZE - Performance statistics maximum file size in bytes. Performance statistics will be stopped when the size exceeded.
- IGNITE_PERF_STAT_BUFFER_SIZE - Performance statistics offheap buffer size in bytes.
- IGNITE_PERF_STAT_FLUSH_SIZE - Performance statistics minimal batch size to flush in bytes.
- IGNITE_PERF_STAT_CACHED_STRINGS_THRESHOLD - Performance statistics maximum cached strings threshold. String caching will stop on threshold excess.
Risks and Assumptions
Enabled profiling mode will cause performance degradation.
Discussion Links
Dev-list discussion.
Report example
Image Added
Image Added
Image Added
Image Added
Image Added// Links to discussions on the devlist, if applicable.
Reference Links
- https://docs.oracle.com/cd/E11882_01/server.112/e41573/autostat.htm#PFGRF94176
- http://www.dba-oracle.com/t_sample_awr_report.htm
- http://expertoracle.com/2018/02/06/performance-tuning-basics-15-awr-report-analysis/
- https://github.com/darold/pgbadger
- https://pgmetrics.io/docs/index.html#example
- https://powa.readthedocs.io/en/latest/
Tickets
Jira |
---|
server | ASF JIRA |
---|
serverId | 5aa69414-a9e9-3523-82ec-879b028fb15b |
---|
key | IGNITE-12666 |
---|
|
// Links or report with relevant JIRA tickets.