You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 19
Next »
For now, Ignite has not build-in profiling tool for user's operations and internal processes. Such a tool will be able to collect performance statistics and create a human-readable report. It will help to analyze workload and to tune configuration and applications.
Example of similar tools in other products: AWR [1] [2] [3] (Oracle) ; pgbadger [4], pgmetrics [5], powa [6] (PostgresSQL).
We should provide a way to execute cluster profiling. Consider the following scenario:
- Enable profiling mode.
- Executes some arbitrary workload.
- Collects profiling info.
- Run the tool that will create the Report contains statistics of workload.
The performance report will be in a human-readable format (html page) and should contain:
- 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)
- Cache operations statistics (similar to queries):
- Get
- Put
- Remove
- RemoveAndGet
- PutAndGet
- Invoke
- Lock
- create/destroy caches
- Workload by nodes
- Transactions commit/rollback timings
- Checkpoints statistics
- PME statistics
Additional investigation required to gather following statistics:
- Query parse time
- Lock waiting time
- User time
- Messages process timings
The Ignite will log some additional internal statistics using separate log category of IgniteLogger.
The new ignite-profiling
module will be introduced. It will contain:
- The script to collect logs from node
s
- The tool to build the report:
report.sh(bat)
The new module will be created: ignite-profiling
.
Enabled profiling mode will cause performance degradation.
// Links to discussions on the devlist, if applicable.
- 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/
// Links or report with relevant JIRA tickets.