OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

A unified distributed database ready for your transactional, analytical, and AI workloads.

DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Cloud Platform

V3.1.1Community Edition

  • Document Overview
  • Product Introduction
    • What is OceanBase Cloud Platform?
    • System architecture
    • Features
    • Limits
      • System requirements
      • Dependencies
  • Deployment Guide
    • Overview
    • Installation process
    • Installation planning
      • User planning
      • Host planning
      • Disk and directory planning
      • Port planning
    • Prepare for the installation
    • Prepare MetaDB and MonitorDB
      • Deploy OBD
      • Deploy OceanBase Database
      • Create tenants
    • Deploy OCP
    • Check after installation
    • Appendix
      • Install Docker
      • \*-example.yaml
      • Restart OCP
  • User Guide
    • OCP overview
    • Log on to the OceanBase Cloud Platform console
    • Features
      • Clusters
        • Cluster management
        • Cluster overview
        • Overview of the Cluster Details page
      • Tenants
        • Tenant and resource management
        • Tenant overview
        • Overview of the Tenant Details page
      • Hosts
        • Host overview
        • Host details
      • Packages
      • OBProxy
        • OBProxy management overview
        • OBProxy overview
        • OBProxy cluster overview
      • System management
        • Alert overview
        • View tasks
        • Security overview
        • View system parameters
      • Personal center
        • Specify personal information
        • Change the logon password
        • Configure alert subscription
        • Password box
          • Manage connection credentials of an OceanBase cluster
          • Manage connection credentials of an OBProxy
          • Manage connection credentials of a host
        • Log off the OCP console
    • Manage clusters
      • Cluster management operations
      • Basic cluster operations
        • Take over a cluster
        • Create a cluster
        • Delete a cluster
        • Stop a cluster
        • Restart a cluster
        • Manage zones of a cluster
          • Create a zone
          • Restart a zone
          • Stop a zone
          • Delete a zone
        • Manage OBServers of a cluster
          • Add an OBServer
          • Restart an OBServer
          • Stop an OBServer
          • Replace an OBServer
          • Delete an OBServer
        • Create a tenant
        • Upgrade the version of an OceanBase cluster
        • Change a password
        • Download logs
        • Disable SQL collection
        • View the SQL collection history
      • View the topology of a cluster
      • Cluster tenant management overview
      • Performance monitoring
      • Cluster resource management
      • Major compaction management
        • Modify major freeze configurations
        • Major compaction details
        • Major freeze statistics
        • Perform a major compaction
      • Manage parameters
        • View parameters
        • Modify parameters
        • Parameter types
        • View the history of parameter changes
    • Manage tenants
      • Tenant management operations
      • Basic tenant operations
        • Create a tenant
        • Manage unit types
        • Lock a tenant
        • Copy a tenant
        • Delete a tenant
        • Add a replica
        • Change the password of the sys tenant
        • Edit a tenant replica of a zone
        • Delete a tenant replica from a zone
        • Modify zone priorities
        • Modify the whitelist
      • View a tenant topology
      • Database management
      • User management under a MySQL tenant
      • Performance monitoring
      • Tenant resource management
      • SQL diagnostics
        • TopSQL diagnosis
        • Slow SQL diagnosis
      • Manage sessions
        • View tenant sessions
        • View session statistics
      • Manage parameters
        • View the parameters
        • Modify a parameter
        • View the parameter modification history
    • Manage hosts
      • Host management operations
      • Add a host
      • Modify a host
      • Restart OCP Agent
      • Stop OCP Agent
      • Reinstall OCP Agent
    • Manage software packages
      • Upload a software package
      • Download a software package
      • Delete a software package
    • Manage OBProxies
      • Create an OBProxy cluster
      • Take over an OBProxy
      • Delete an OBProxy
      • Restart an OBProxy
      • Upgrade an OBProxy
      • Add an OBProxy
      • Refresh OBProxy configurations
      • Monitor OBProxy cluster performance
      • OBProxy cluster parameter management
      • Add a connectable OceanBase cluster
      • Delete an OBProxy cluster
      • Upgrade all OBProxies in an OBProxy cluster
      • Restart all OBProxies in an OBProxy cluster
      • Delete a connected OceanBase cluster
    • Manage alerts
      • Alert-related concepts
      • Create an alert item
      • View alert items
      • Copy an alert item
      • Edit an alert item
      • Delete an alert item
      • Alert groups
      • Create an alert channel
      • View alert channels
      • Edit an alert channel
      • Delete an alert channel
      • View an alert event
      • View the alert notification history
      • Create a blocking condition
      • Edit alert blocking conditions
      • Delete a blocking condition
      • Add a filtering keyword
      • Modify the expiration time of a filtering keyword
      • Delete a filtering keyword
      • Create an alert subscription
      • Manage alert subscriptions
    • Use system management
      • Role overview
      • Create a role
      • Manage roles
      • Copy a role
      • Create a user
      • View users
      • Edit a user
      • Copy a user
      • Change a user password
      • Delete a user
      • Logon history
      • Manage system parameters
      • Manage tasks
    • FAQ
    • Appendix
      • OCP configuration parameters
      • SQL performance module
      • OCP resource unit specifications
      • OCP error table
      • OCP alert template variables
      • Call an alert API
      • OCP background tasks
      • Monitoring metrics
      • Examples of alert channel configuration
      • OBProxy startup parameters
      • System privileges in a MySQL tenant
      • Component listening port list
      • OCP-Agent processes
      • Enable the OCP multi-cluster mode
      • Log error PAM Permission Denied
      • Failed to upload the software package
      • Check the sudo permissions of a user
      • Default OCP roles
      • FAQ about multi-zone mode
      • FAQ about OBProxy takeover
      • Install dependent software
  • Alert Reference
    • Overview
    • OceanBase alerts
      • ob_cannot_connected
      • ob_cluster_status_check_failed
      • ob_cluster_exists_inactive_server
      • ob_cluster_exists_index_fail_table
      • ob_cluster_frozen_version_delta_over_threshold
      • ob_cluster_merge_error
      • ob_cluster_merge_timeout
      • ob_cluster_no_frozen
      • ob_cluster_no_merge
      • ob_cluster_operation_info
      • ob_cluster_sync_failed
      • ob_cpu_assigned_percent_over_threshold
      • ob_cpu_percent_over_threshold
      • ob_host_connection_percent_over_threshold
      • ob_host_cpu_percent_over_threshold
      • ob_host_disk_percent_over_threshold
      • ob_host_disk_readonly
      • ob_host_exists_expired_trans
      • ob_host_load1_per_cpu_over_threshold
      • ob_host_mem_percent_over_threshold
      • ob_host_net_recv_percent_over_threshold
      • ob_host_net_send_percent_over_threshold
      • ob_host_partition_count_over_threshold
      • ob_host_tcp_retrans_percent_over_threshold
      • ob_log_alarm
      • ob_mem_assigned_percent_over_threshold
      • ob_server_sstable_percent_over_threshold
      • ob_server_exists_long_lived_trans
      • ob_tenant_operation_info
      • ob_tenant500_mem_hold_over_threshold
      • ob_tenant500_mem_hold_percent_over_threshold
      • ob_zone_sstable_percent_over_threshold
      • tenant_active_memstore_percent_over_threshold
      • tenant_connection_percent_over_threshold
      • tenant_cpu_percent_over_threshold
      • tenant_memstore_percent_over_threshold
      • obproxy_process_dead
      • obproxyd_process_dead
      • obproxy_cannot_connected
      • ob_cluster_sync_delay_time_too_long
      • ob_host_data_disk_percent_over_threshold
      • ob_host_log_disk_percent_over_threshold
      • ob_host_install_disk_percent_over_threshold
    • Application alerts
      • no_enough_exporter
      • no_port_mapping_for_exporter
      • host_unavailable
      • backup_schedule_fail
      • inc_backup_delay
      • base_backup_fail
      • base_backup_too_long_time_no_one_success_task
      • backup_process_dead
      • backup_storage_capacity_over_threshold
      • backup_storage_capacity_retry_times_exceeded
      • backup_storage_capacity_timeout_or_interrupted
      • ocp_remote_server_time_diff_too_large
      • monitor_exporter_unavaliable
      • system_obproxy_unavailable
      • host_ntp_service_not_exist
      • partition_create_failed
      • obagent_dead
      • host_ntp_offset_too_large
    • Appendix
      • Set an alert-blocking condition
      • Modify alert thresholds
      • Exception handling for OceanBase cluster compaction
      • OCP-Agent script
      • Apply throttling to an OceanBase cluster
      • Network troubleshooting
  • API Reference
    • Overview
    • API call description
    • Cluster information
      • Query clusters
      • Create an OceanBase cluster
      • Delete an OceanBase cluster
      • Stop an OceanBase cluster
      • Start an OceanBase cluster
      • Restart an OceanBase cluster
      • Upgrade an OceanBase cluster
      • Query zones of an OceanBase cluster
      • Create a zone for an OceanBase cluster
      • Delete a zone from an OceanBase cluster
      • Stop a zone in an OceanBase cluster
      • Start a zone in an OceanBase cluster
      • Restart a zone in an OceanBase cluster
      • Add an OBServer
      • Delete multiple OBServers at a time
      • Stop an OBServer
      • Start an OBServer
      • Restart an OBServer
      • Replace an OBServer
      • Change the password of an OceanBase cluster
      • Query the parameter metadata of an OceanBase cluster
      • Query parameters of an OceanBase cluster
      • Modify parameters of an OceanBase cluster
      • Query servers
      • Query servers in a zone
    • Tenant information
      • Query tenants of a cluster
      • Query all tenants
      • Query details about a tenant
      • Create a tenant
      • Delete a tenant
      • Lock a tenant
      • Unlock a tenant
      • Query units of a tenant
      • Delete a unit from a tenant
      • Add a replica for a tenant
      • Delete a replica of a tenant
      • Modify a replica of a tenant
      • Modify zone priorities of a tenant
      • Change the administrator password of a tenant
      • Modify the whitelist of a tenant
      • Query parameters of a tenant
      • Modify parameters of a tenant
      • OceanBase database management
        • Query databases
        • Create a database
        • Modify a database
        • Delete a database
    • Hosts
      • Query regions
      • Query details about a region
      • Add a region
      • Delete a region
      • Query IDCs
      • Query details about an IDC
      • Add an IDC
      • Delete an IDC
      • Query host types
      • Query details about a host type
      • Add a host type
      • Delete a host type
      • Query hosts
      • Query details about a host
      • Add multiple hosts at a time
      • Delete a host
      • Delete multiple hosts at a time
    • Software packages
      • Query software packages
      • Upload a software package
      • Delete a software package
    • OBProxy management
      • Create an OBProxy cluster
      • Delete an OBProxy cluster
      • Query OBProxy clusters
      • Query details about an OBProxy cluster
      • Update configurations of an OBProxy cluster
      • Add an OBProxy
      • Take over an OBProxy
      • Delete an OBProxy
      • Restart an OBProxy
      • Upgrade an OBProxy
      • Add a connectable OceanBase cluster for an OBProxy cluster
      • Remove a connectable OceanBase cluster from an OBProxy cluster
      • Query the parameter metadata of an OBProxy
      • Query parameters of an OBProxy cluster
    • Monitoring
      • Query the metadata of a monitoring metric
      • Query monitoring data
      • Query monitoring data and attach a tag to the data
    • Alerts
      • Alert events
        • Query the alert event list
        • Query alert events
      • Alert notifications
        • Query alert notifications
    • Task management
      • Query tasks
      • Query details about a task
      • Retry a task
      • Roll back a task
      • Query logs of a subtask instance
      • Retry a subtask
      • Skip a subtask
      • Cancel a subtask
    • OceanBase user and privilege management
      • Query database user details
      • Query database user details
      • Create a database user
      • Delete a database user
      • Change the password of a database user
      • Lock a database user
      • Unlock a database user
      • Query the database role details
      • Query database role details
      • Create a database role
      • Delete a database role
      • Query database objects
      • Grant global privileges to a user
      • Revoke global privileges of a user
      • Change global privileges of a user
      • Grant global privileges to a role
      • Revoke global privileges of a role
      • Change global privileges of a role
      • Grant roles to a user
      • Revoke roles of a user
      • Change roles of a user
      • Grant roles to a role
      • Revoke roles of a role
      • Change roles of a role
      • Grant database privileges to a user
      • Revoke database privileges of a user
      • Change database privileges of a user
      • Grant object privileges to a user
      • Revoke object privileges of a user
      • Change object privileges of a user
      • Grant object privileges to a role
      • Revoke object privileges of a role
      • Change object privileges of a role
    • OCP Agent management
      • Query OCP Agent details on a host
      • Stop basic OCP Agent processes on a host
      • Batch stop basic OCP Agent processes on a host
      • Restart basic OCP Agent processes on a host
      • Batch restart basic OCP Agent processes on a host
      • Query OCP Agent processes on a host
      • Restart OCP Agent processes on a host
      • Stop OCP Agent processes on a host
    • SQL performance
      • Query performance indicators of an SQL statement
      • Query the performance indicator trend of an SQL statement
      • Query SQL text
      • Query performance indicators of an execution plan
      • Query the performance indicator trend of an execution plan
      • Query the operator structure of an execution plan
    • Others
      • Query the basic information of an OCP application
      • Query OCP server time
      • Query OCP application status
    • Appendix
      • Task information

Download PDF

Document Overview What is OceanBase Cloud Platform?System architecture Features System requirementsDependencies Overview Installation process User planning Host planning Disk and directory planning Port planning Prepare for the installation Deploy OBD Deploy OceanBase DatabaseCreate tenants Deploy OCP Check after installation Install Docker \*-example.yaml Restart OCPOCP overview Log on to the OceanBase Cloud Platform console Packages Cluster management operations View the topology of a cluster Cluster tenant management overviewPerformance monitoring Cluster resource management Tenant management operationsView a tenant topology Database management User management under a MySQL tenant Performance monitoringTenant resource management Host management operations Add a host Modify a host Restart OCP Agent Stop OCP Agent Reinstall OCP Agent Upload a software package Download a software package Delete a software package Create an OBProxy cluster Take over an OBProxy Delete an OBProxy Restart an OBProxy Upgrade an OBProxy Add an OBProxy Refresh OBProxy configurations Monitor OBProxy cluster performance OBProxy cluster parameter management Add a connectable OceanBase cluster Delete an OBProxy cluster Upgrade all OBProxies in an OBProxy cluster Restart all OBProxies in an OBProxy cluster Delete a connected OceanBase cluster Alert-related conceptsCreate an alert item View alert items Copy an alert item Edit an alert item Delete an alert item Alert groups Create an alert channel View alert channels Edit an alert channel Delete an alert channel View an alert event View the alert notification history Create a blocking condition Edit alert blocking conditions Delete a blocking condition Add a filtering keyword Modify the expiration time of a filtering keyword Delete a filtering keyword Create an alert subscription Manage alert subscriptions Role overview Create a role Manage rolesCopy a role Create a user View users Edit a user Copy a user Change a user password Delete a user Logon history Manage system parameters Manage tasks FAQOCP configuration parameters SQL performance module OCP resource unit specifications OCP error table OCP alert template variablesCall an alert API OCP background tasks
OceanBase logo

The Unified Distributed Database for the AI Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogLive DemosTraining & Certification
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. OceanBase Cloud Platform
  3. V3.1.1
iconOceanBase Cloud Platform
V 3.1.1Community Edition
  • V 4.3.6
  • V 4.3.5
  • V 4.3.4
  • V 4.3.3
  • V 4.3.2
  • V 4.3.1
  • V 4.3.0
  • V 4.2.2
  • V 4.0.0 and earlier
Community Edition
  • V 4.0.0
  • V 3.1.1
Enterprise Edition
  • V 4.0.0
  • V 3.3.1

SQL performance module

Last Updated:2026-04-14 03:56:05  Updated
share
What is on this page
SQL performance module

folded

share

This topic describes the OceanBase Cloud Platform (OCP) parameters that are related to SQL performance diagnostics.

SQL performance module

The following table describes the parameters for SQL performance diagnostics.

Parameter Default value Description
ocp.perf.sql-diag.awful-performance-index-used-config {"enabled":true, "cpuTimeLimitUs":100000, "execPsLimit":5.0, "fullLogicalReadsLimit":10000} The diagnostic parameter for poor performance despite the use of index. Parameters:
  • enabled: specifies whether to enable this check item.
  • execPsLimit: specifies the number of executions per second.
  • cpuTimeLimitUs: specifies the average CPU time (μs).
  • fullLogicalReadsLimit: specifies the number of logical reads.
Diagnostic objects: SQL queries that meet the following conditions during the diagnostic period: The average CPU time > cpuTimeLimitUs && The actual logical reads > fullLogicalReadsLimit && The full table scan is not performed && The execution frequency > $execPsLimit
ocp.perf.sql-diag.cpu-time-proportion-high-config {"enabled":true, "cpuTimeLimitUs":10000, "execPsLimit":10.0, "maxCpuTimeLimitUs":30000, "affectedRowsLimit":100, "execLimit":30, "sqlCountLimit":20, "cpuTimePercentLimit":20} The diagnostic parameter for a high CPU time percentage for execution. Parameters:
  • enabled: specifies whether to enable this check item.
  • execPsLimit: specifies the execution frequency, which is the number of executions per second.
  • cpuTimeLimitUs: specifies the average CPU time (μs).
  • maxCpuTimeLimitUs: specifies the upper limit of the CPU time.
  • affectedRowsLimit: specifies the number of affected rows.
  • execPsLimit: specifies the total number of executions.
  • sqlCountLimit: specifies the number of SQL queries.
  • cpuTimePercentLimit: specifies the CPU time percentage.
Diagnostic objects: SQL queries that meet the following conditions during the diagnostic period: The average CPU time > $cpuTimeLimitUs || The number of affected rows > $affectedRowsLimit || The upper limit of CPU time > $maxCpuTimeLimitUs && The execution frequency >= $execPsLimit. Diagnostic criteria: During the diagnostics period, if all the following conditions are met, the CPU time percentage is considered high.
1) The percentage of the CPU time of the diagnosed SQL query to the CPU time of the tenant exceeds $cpuTimePercentLimit.
2) The total number of SQL executions by the tenant exceeds $execLimit.
3) The number of unique SQL queries executed by the tenant is greater than $sqlCountLimit.
ocp.perf.sql-diag.database-white-list oceanbase,information_schema,mysql,__recyclebin,sys,__public The names of the databases to be skipped in SQL diagnostics.
ocp.perf.sql-diag.execution-spike-config {"enabled":true, "cpuTimeLimitUs":3000, "execPsLimit":5.0, "pointsLimit":5, "compareMin":20, "avgExecutionMultiply":{"0":6, "1":5, "5":4, "10":3, "50": 2.5, "100": 2, "500": 1.6}, "stdExecutionMultiply":{"0":80, "1":60 , "3": 30,"5":20, "10":15, "20":8, "30":6, "50":5, "80":4}} The diagnostic parameter for execution spikes. Parameters:
  • enabled: specifies whether to enable this check item.
  • execPsLimit: specifies the execution frequency, which is the number of executions per second.
  • cpuTimeLimitUs: specifies the average CPU time (μs).
  • pointsLimit: specifies the number of points.
  • compareMin: specifies the time of comparison (min).
  • avgExecutionMultiply: specifies the multiple of the average execution frequency.
  • stdExecutionMultiply: specifies the multiple of the standard deviation of the execution frequency.
Diagnostic objects: SQL queries that meet the following conditions during the diagnostic period: The average CPU time >= $cpuTimeLimitUs && The average number of executions per second >= $execPsLimit. Diagnostic criteria:
1. Find the SQL queries that meet the diagnostic conditions within the last $compareMin before the diagnosis. Calculate the average execution frequency per minute (avg_exec_ps) of the SQL queries, the standard deviation of the execution frequency (std_exec_ps) in the last $compareMin, and the ratio of the standard deviation to the average (range_percent). In other words, the following statistics are calculated:
  • Historical average execution frequency (avg_exec_ps)
  • Standard deviation (std_exec_ps)
  • range_percent (std_exec_ps / avg_exec_ps * 100).
2. Then, calculate the average number of executions per second (exec_ps) of the SQL query. If the exec_ps parameter meets all the following conditions at the same time, the SQL query is considered an execution spike:
  • exec_ps >= avg_exec_ps * $multiple_value_1
  • exec_ps >= avg_exec_ps + std_exec_ps * $multiple_value_2
Note:
The value of multiple_value_1 parameter varies with that of the avg_exec_ps parameter, depending on the value of the avgExecutionMultiply parameter. When avg_exec_ps > 500, multiple_value_1 = 1.6. Likewise, 100 -> 2, 50 -> 2.5, 10 -> 3, 5 -> 4, and 1 -> 5.
The value of multiple_value_2 parameter varies with that of the range_percent parameter, depending on the value of the stdExecutionMultiply parameter. When range_percent > 80, multiple_value_ 2 = 4. Likewise, 50 -> 5, 30 -> 6, 20 -> 8, 10 -> 15, 5 -> 20, 3 -> 30, 1 -> 60, and 0 -> 80.
ocp.perf.sql-diag.index-diagnoser-config {"enabled":true,"schedulePeriodMin":5, "coreThreadSize":10, "maxThreadSize":50,"maxQueueSize":10000,"diagPeriodSec":300,"diagOffsetSec":60,"maxDiagPeriodSec":1800} The parameter for SQL index diagnostics. It takes effect after a restart. We recommend that you leave this parameter unchanged.
ocp.perf.sql-diag.ineffective-hint-config {"enabled":true, "execPsLimit":5.0, "cpuTimeLimitUs":20000} The diagnostic parameter for inactive hints. Parameters:
  • enabled: specifies whether to enable this check item.
  • execPsLimit: specifies the execution frequency, which is the number of executions per second.
  • cpuTimeLimitUs: specifies the average CPU time (μs).
Diagnostic objects: SQL queries that meet the following conditions during the diagnostic period: The average CPU time >= $cpuTimeLimitUs && The executions frequency >= $execPsLimit. Diagnostic criteria: If the index specified in the hint is inconsistent with that of the execution plan,the hint is inactive.
ocp.perf.sql-diag.perf-diagnoser-config {"enabled":true,"schedulePeriodMin":5, "coreThreadSize":10, "maxThreadSize":50,"maxQueueSize":10000,"diagPeriodSec":300,"diagOffsetSec":60,"maxDiagPeriodSec":1800} The parameter for SQL performance diagnostics. It takes effect after a restart. We recommend that you leave this parameter unchanged.
ocp.perf.sql-diag.performance-degradation-after-plan-changed-config {"enabled":true, "compareMin":5, "cpuTimeMultiply":{"0":50, "1":30, "10":10, "100":8, "1000":6}} The diagnostic parameter for changes in the execution plan and performance degradation. Parameters
  • enabled: specifies whether to enable this check item.
  • cpuTimeMultiply: specifies the multiple of CPU time. If the current average CPU time is greater than 0 ms, the performance is considered degraded only when the CPU time is increased by at least 50 times after the execution plan is changed. If the current average CPU time is greater than 1 ms, the performance is considered degraded when the CPU time is increased by at least 30 times, and so forth.
  • compareMin: specifies the time of performance comparison (min).
Evaluation criteria: The performance is considered degraded if the average CPU time of the SQL query within $compareMin is increased by more times than the specified multiple of CPU time after the execution plan is changed.
ocp.perf.sql-diag.performance-degradation-config {"enabled":true, "cpuTimeLimitUs":10000, "execPsLimit":5.0, "maxCpuTimeLimitUs":30000, "affectedRowsLimit":100, "execLimit":5, "compareMin":20, "cpuTimeMultiply":{"0":50, "1":30, "10":10, "100":8, "1000":6}} The diagnostic parameter for performance degradation.
  • enabled: specifies whether to enable this check item.
  • execPsLimit: specifies the execution frequency, which is the number of executions per second.
  • cpuTimeLimitUs: specifies the average CPU time (μs).
  • maxCpuTimeLimitUs: specifies the upper limit of the CPU time.
  • affectedRowsLimit: specifies the number of affected rows.
  • execPsLimit: specifies the total number of executions.
  • compareMin: specifies the source time (min) of the baseline data. It is the last $compareMin before the diagnosis.
  • cpuTimeMultiply: specifies the multiple of CPU time. If the current CPU time is greater than 0 ms, the performance is considered degraded only when the CPU time is increased by at least 50 times after the execution plan is changed. If the current average CPU time is greater than 1 ms, the performance is considered degraded when the CPU time is increased by at least 30 times, and so forth.
Diagnostic conditions: The average CPU time > $cpuTimeLimitUs || The number of affected rows > $affectedRowsLimit || The upper limit of CPU time > $maxCpuTimeLimitUs && The execution frequency > $execPsLimit. Diagnostic criteria: A baseline number of executions is taken as the reference for comparison. The baseline number of executions must be greater than $execulimit. Otherwise, it cannot be used as the reference for comparison. After the reference for comparison is determined, the performance is considered degraded when the SQL query under diagnosis meets all the following conditions at the same time:
  • The current average CPU time >= The baseline CPU time * $cpuTimeMultiply. The default value of cpuTimeMultiply is 6.
  • Current execution frequency >= Baseline execution frequency * 0.5
ocp.perf.sql-diag.query-timeout 30000000 Specifies the timeout threshold of SQL diagnostic queries (μs).
ocp.perf.sql-diag.row-lock-contention-high-config {"enabled":true, "execPsLimit":0, "cpuTimeLimitUs":1000, "elapsedTimeLimitUs":0} The diagnostic parameter for high row lock contention.
  • enabled: specifies whether to enable this check item.
  • execPsLimit: specifies the execution frequency, which is the number of executions per second.
  • cpuTimeLimitUs: specifies the average CPU time (μs).
  • elapsedTimeLimitUs: specifies the average response time (μs).
Diagnostic objects: SQL queries that meet the following conditions during the diagnostic period: The execution frequency > $execPsLimit && The average CPU time > $cpuTimeLimitUs && The average response time > $elapsedTimeLimitUs.
Note: The elapsedTimeLimitUs parameter is used only when it is configured. Diagnostic criteria: A SQL query is considered to have caused high row lock contention if its type is %select%for%update%.
ocp.perf.sql-diag.table-scan-index-not-exists-config {"enabled":true, "execPsLimit":1.0, "cpuTimeLimitUs":20000} The diagnostic parameter for the full-table scan without any indexes available.
  • enabled: specifies whether to enable this check item.
  • execPsLimit: specifies the execution frequency, which is the number of executions per second.
  • cpuTimeLimitUs: specifies the average CPU time (μs).
Diagnostic objects: SQL queries that meet the following conditions during the diagnostic period: table_scan > 0 in the v$sql_audit view. These queries involve full table scans. Diagnostic criteria: No index is available if the following conditions are met:
  • A single table is scanned and it has no index.
  • Multiple tables are scanned and some tables have no index.
ocp.perf.sql-diag.table-scan-index-not-used-config {"enabled":true, "execPsLimit":1.0, "cpuTimeLimitUs":2000} The diagnostic parameter for a full-table scan without using the index.
  • enabled: specifies whether to enable this check item.
  • execPsLimit: specifies the execution frequency, which is the number of executions per second.
  • cpuTimeLimitUs: specifies the average CPU time (μs).
Diagnostic objects: SQL queries that meet the following conditions during the diagnostic period: The execution frequency > $execPsLimit, the average CPU Time > $cpuTimeLimitUs, and a full-table scan is performed. Diagnostic criteria: The index is not used.
ocp.perf.sql.diag-plan-change-config {"enabled":true,"schedulePeriodMin":5, "coreThreadSize":10, "maxThreadSize":50,"maxQueueSize":10000,"diagPeriodSec":300,"diagOffsetSec":300,"maxDiagPeriodSec":1800} The parameter for scheduling of diagnostic tasks. We recommend that you leave this parameter unchanged.
ocp.perf.sql.max-query-range 24h Specifies the maximum length of time range for querying SQL performance data. Default value: 24h. If the time range of a query you specified on the TopSQL or SlowSQL tab exceeds the value of this parameter, an error is returned when you submit the query.
ocp.perf.sql.plan-hist-level0-granularity 30s Specifies the time interval for OCP to aggregate the performance data of the Level 0 SQL execution plans, or plans for short. By default, OCP collects and aggregates the performance data of plans once every 30s. The performance data is stored in specific tables for use in TopSQL diagnostics. You can increase this value to relieve the storage pressure for the MetaDB and MonitorDB of OCP.
ocp.perf.sql.plan-hist-level0-query-interval 2h Specifies the maximum time range for querying the Level 0 plan performance data. If the specified query time range exceeds this value, OCP queries data tables with larger aggregation time intervals.
ocp.perf.sql.plan-hist-level0-retention 5d Specifies the period for retaining performance data partitions of Level 0 plans. Performance data partitions are created by day. By default, the data is retained for only five days. Partitions that have been retained for more than five days are automatically deleted.
ocp.perf.sql.prepare-partition-ahead 8 Specifies the number of days for creating performance data partitions before the diagnosis. You need to specify the period in days.
ocp.perf.sql.query-timeout 30000000 Specifies the timeout threshold for SQL performance data queries (μs).
ocp.perf.sql.sql-hist-level0-granularity 30s Specifies the time interval for OCP to aggregate the performance data of the Level 0 SQL queries.
Note: To improve the performance of monitoring metric collection, OCP collects and aggregates SQL performance data at different time intervals for TopSQL diagnostics. The data is divided into three levels and is collected and stored in table partitions of the corresponding levels by day. The retention period for performance data partitions is specified by a fixed parameter. For the same type of performance data, a larger time interval requires less storage space.
ocp.perf.sql.sql-hist-level0-query-interval 2h Specifies the maximum time range for querying the Level 0 SQL performance data. If the time range you specified on the TopSQL tab exceeds this value, OCP queries the Level 1 SQL performance data tables.
ocp.perf.sql.sql-hist-level0-retention 2d Specifies the retention period for partitions of Level 0 SQL performance data. Partitions for Level 0 SQL performance data are created by day. By default, the MetaDB and MonitorDB of OCP only retains partitions created in the last two days.
ocp.perf.sql.sql-hist-level1-granularity 2m Specifies the time interval for OCP to aggregate the performance data of the Level 1 SQL queries. By default, OCP aggregates SQL performance data once every 2 minutes and writes the data into Level 2 SQL performance data tables.
ocp.perf.sql.sql-hist-level1-query-interval 12h Specifies the maximum time interval for querying the Level 1 SQL performance data. If the time range you specified on the TopSQL tab exceeds this value, OCP queries the Level 2 SQL performance data tables.
ocp.perf.sql.sql-hist-level1-retention 8d Specifies the retention period for partitions of Level 1 SQL performance data.
ocp.perf.sql.sql-hist-level2-granularity 10m Specifies the time interval for OCP to aggregate the performance data of the Level 2 SQL queries. By default, OCP aggregates SQL performance data once every 10 minutes and writes the data into Level 2 SQL performance data tables.
ocp.perf.sql.sql-hist-level2-query-interval 48h Specifies the maximum time interval for querying the Level 2 SQL performance data. Regardless of whether the time range you specified exceeds this value, OCP queries the Level 2 SQL performance data tables.
ocp.perf.sql.sql-hist-level2-retention 15d Specifies the retention period for partitions of Level 2 SQL performance data.

Previous topic

OCP configuration parameters
Last

Next topic

OCP resource unit specifications
Next
What is on this page
SQL performance module