Queries the performance metrics of an ApsaraDB RDS instance.

You can obtain the performance of an instance over a specific time range based on its performance metrics. Performance metrics are generated by using one of the following methods based on the database engine and version, RDS edition, monitoring frequency (ModifyDBInstanceMonitor), and query time range:

  • For instances that do not run MySQL on RDS High-availability Edition with standard SSDs or enhanced SSDs (ESSDs) and those that do not run MariaDB TX:
    • 5-second monitoring frequency
      • If the query time range is greater than 7 days, performance metrics are collected at 1-day intervals.
      • If the query time range is greater than 1 day but less than or equal to 7 days, performance metrics are collected at 1-hour intervals.
      • If the query time range is greater than or equal to 1 hour but less than or equal to 1 day, performance metrics are collected at 1-minute intervals.
      • If the query time range is less than 1 hour, performance metrics are collected at 5-second intervals.
    • 60-second monitoring frequency
      • If the query time range is greater than 30 days, performance metrics are collected at 1-day intervals.
      • If the query time range is greater than 7 days but less than or equal to 30 days, performance metrics are collected at 1-hour intervals.
      • If the query time range is less than or equal to 7 days, performance metrics are collected at 1-minute intervals.
    • 300-second monitoring frequency
      • If the query time range is greater than 30 days, performance metrics are collected at 1-day intervals.
      • If the query time range is greater than 7 days but less than or equal to 30 days, performance metrics are collected at 1-hour intervals.
      • If the query time range is less than or equal to 7 days, performance metrics are collected at 5-minute intervals.
  • For instances that are running MySQL on RDS High-availability Edition with standard SSDs or ESSDs and those that are running MariaDB TX:
    • If the query time range is greater than 30 days, performance metrics are collected at 1-day intervals.
    • If the query time range is greater than 7 days but less than or equal to 30 days, performance metrics are collected at 1-hour intervals.
    • If the query time range is less than or equal to 7 days, performance metrics are collected at 1-minute intervals.
  • For instances that run PostgreSQL with local SSDs, standard SSDs, or ESSDs:
    • If the query time range is less than or equal to 1 hour, performance metrics are collected at 5-second intervals.
    • If the query time range is less than or equal to 2 hours, performance metrics are collected at 10-second intervals.
    • If the query time range is less than or equal to 6 hours, performance metrics are collected at 30-second intervals.
    • If the query time range is less than or equal to 12 hours, performance metrics are collected at 1-minute intervals.
    • If the query time range is less than or equal to 1 day, performance metrics are collected at 2-minute intervals.
    • If the query time range is less than or equal to 5 days, performance metrics are collected at 10-minute intervals.
    • If the query time range is less than or equal to 15 days, performance metrics are collected at 30-minute intervals.
    • If the query time range is less than or equal to 30 days, performance metrics are collected at 1-hour intervals.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes DescribeDBInstancePerformance

The operation that you want to perform. Set the value to DescribeDBInstancePerformance.

DBInstanceId String Yes rm-uf6wjk5xxxxxxx

The ID of the instance. You can call the DescribeDBInstances operation to query the IDs of instances.

Key String Yes MySQL_Sessions

The performance metric that you want to query. If you enter more than one performance metric, separate them with commas (,). For more information, see Performance parameter table.

Note If you set the Key parameter to MySQL_SpaceUsage or SQLServer_SpaceUsage, you can query the performance metric only over one day.
StartTime String Yes 2012-06-08T15:00Z

The beginning of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time must be in UTC.

Note The time span between the start time and the end time must be longer than the monitoring frequency. Otherwise, this operation may return an empty array.
EndTime String Yes 2012-06-18T15:00Z

The end of the time range to query. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time must be in UTC.

Note The time span between the start time and the end time must be longer than the monitoring frequency. Otherwise, this operation may return an empty array.

Response parameters

Parameter Type Example Description
DBInstanceId String rm-uf6wjk5xxxxxxxxxx

The ID of the instance.

Engine String MySQL

The database engine that is run on the instance.

StartTime String 2012-06-10T15:00Z

The beginning of the time range to query. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC.

EndTime String 2012-06-19T15:00Z

The end of the time range to query. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC.

PerformanceKeys Array of PerformanceKey

An array that consists of performance metrics.

PerformanceKey
Key String MySQL_Sessions

The name of the performance metric.

Unit String KB

The unit of the performance metric.

ValueFormat String recv_k&sent_k

The format that the value of the performance metric follows. Multiple performance metric values are separated by the & string. Example: com_delete&com_insert&com_insert_select&com_replace.

Values Array of PerformanceValue

An array that consists of performance metric values in the following format: {value1, value2, ...}.

PerformanceValue
Value String 0.0&13.6

The value of the performance metric.

Date String 2011-05-30T03:29:00Z

The date and time when the value of the performance metric was recorded. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC.

RequestId String A5409D02-D661-4BF3-8F3D-0A814D0574E7

The ID of the request.

Examples

Sample requests

http(s)://rds.aliyuncs.com/?Action=DescribeDBInstancePerformance
&DBInstanceId= rm-uf6wjk5xxxxxxx
&Key=MySQL_Sessions
&StartTime=2012-06-08T15:00Z
&EndTime=2012-06-18T15:00Z
&<Common request parameters>

Sample success responses

XML format

<DescribeDBInstancePerformanceResponse>
      <RequestId>A5409D02-D661-4BF3-8F3D-0A814D0574E7</RequestId>
      <DBInstanceID> rm-uf6wjk5xxxxxxx</DBInstanceID>
      <StartTime>2012-06-11T15:00Z</StartTime>
      <EndTime>2013-10-17T15:00Z</EndTime>
      <Engine>MySQL</Engine>
      <PerformanceKeys>
            <PerformanceKey>
                  <Key>MySQL_NetworkTraffic</Key>
                  <Unit>KB</Unit>
                  <ValueFormat>recv_k&amp;sent_k</ValueFormat>
                  <Values></Values>
            </PerformanceKey>
      </PerformanceKeys>
</DescribeDBInstancePerformanceResponse>

JSON format

{
    "RequestId": "A5409D02-D661-4BF3-8F3D-0A814D0574E7",
    "DBInstanceID": " rm-uf6wjk5xxxxxxx",
    "StartTime": "2012-06-11T15:00Z",
    "EndTime": "2013-10-17T15:00Z",
    "Engine": "MySQL",
    "PerformanceKeys": {
        "PerformanceKey": [
            {
                "Key": "MySQL_NetworkTraffic",
                "Unit": "KB",
                "ValueFormat": "recv_k&sent_k",
                "Values": {
                    "PerformanceValue": []
                }
            }
        ]
    }
}

Error codes

For a list of error codes, visit the API Error Center.