Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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)
    • Jobs of slowest tasks
  • Caches and cache operations statisticsCache operations statistics (similar to queries):
    • Get/Put/Remove
    • RemoveAndGet
    • PutAndGetTransactions
    • Invoke
    • Lock
    • create/destroy caches
  • Workload by nodes
      Transactions commit/rollback timings
      • CPU/IO/Disk resources
    • 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 AddedImage AddedImage AddedImage AddedImage Added// Links to discussions on the devlist, if applicable.



    Reference Links


    1. https://docs.oracle.com/cd/E11882_01/server.112/e41573/autostat.htm#PFGRF94176
    2. http://www.dba-oracle.com/t_sample_awr_report.htm
    3. http://expertoracle.com/2018/02/06/performance-tuning-basics-15-awr-report-analysis/
    4. https://github.com/darold/pgbadger
    5. https://pgmetrics.io/docs/index.html#example
    6. https://powa.readthedocs.io/en/latest/

    Tickets

    Jira
    serverASF JIRA
    serverId5aa69414-a9e9-3523-82ec-879b028fb15b
    keyIGNITE-12666
    // Links or report with relevant JIRA tickets.