本文档仅适用于 Amazon CLI 版本 1。有关 Amazon CLI 版本 2 的相关文档,请参阅版本 2 用户指南。
使用 Amazon CLI 的 Amazon RDS 性能详情示例
以下代码示例演示了如何将 Amazon Command Line Interface与 Amazon RDS 性能详情结合使用,以执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 create-performance-analysis-report
。
- Amazon CLI
-
创建性能分析报告
以下
create-performance-analysis-report
示例为数据库db-abcdefg123456789
创建了一个开始时间为1682969503
、结束时间为1682979503
的性能分析报告。aws pi create-performance-analysis-report \ --service-type
RDS
\ --identifierdb-abcdefg123456789
\ --start-time1682969503
\ --end-time1682979503
输出:
{ "AnalysisReportId": "report-0234d3ed98e28fb17" }
有关创建性能分析报告的更多信息,请参阅《Amazon RDS 用户指南》中的在性能详情中创建性能分析报告和《Amazon Aurora 用户指南》中的在性能详情中创建性能分析报告。
-
有关 API 详细信息,请参阅《Amazon CLI Command Reference》中的 CreatePerformanceAnalysisReport
。
-
以下代码示例演示了如何使用 delete-performance-analysis-report
。
- Amazon CLI
-
删除性能分析报告
以下
delete-performance-analysis-report
示例删除报告 ID 为report-0d99cc91c4422ee61
的性能分析报告。aws pi delete-performance-analysis-report \ --service-type
RDS
\ --identifierdb-abcdefg123456789
\ --analysis-report-idreport-0d99cc91c4422ee61
此命令不生成任何输出。
有关删除性能分析报告的更多信息,请参阅《Amazon RDS 用户指南》中的在性能详情中删除性能分析报告和《Amazon Aurora 用户指南》中的在性能详情中删除性能分析报告。
-
有关 API 详细信息,请参阅《Amazon CLI Command Reference》中的 DeletePerformanceAnalysisReport
。
-
以下代码示例演示了如何使用 describe-dimension-keys
。
- Amazon CLI
-
示例 1:描述维度键
此示例请求所有等待事件的名称。数据按事件名称以及指定时间段内这些事件的汇总值进行汇总。
命令:
aws pi describe-dimension-keys --service-type
RDS
--identifierdb-LKCGOBK26374TPTDFXOIWVCPPM
--start-time1527026400
--end-time1527080400
--metricdb.load.avg
--group-by '{"Group":"db.wait_event"}
'输出:
{ "AlignedEndTime": 1.5270804E9, "AlignedStartTime": 1.5270264E9, "Keys": [ { "Dimensions": {"db.wait_event.name": "wait/synch/mutex/innodb/aurora_lock_thread_slot_futex"}, "Total": 0.05906906851195666 }, { "Dimensions": {"db.wait_event.name": "wait/io/aurora_redo_log_flush"}, "Total": 0.015824722186149193 }, { "Dimensions": {"db.wait_event.name": "CPU"}, "Total": 0.008014396230265477 }, { "Dimensions": {"db.wait_event.name": "wait/io/aurora_respond_to_client"}, "Total": 0.0036361612526204477 }, { "Dimensions": {"db.wait_event.name": "wait/io/table/sql/handler"}, "Total": 0.0019108398419382965 }, { "Dimensions": {"db.wait_event.name": "wait/synch/cond/mysys/my_thread_var::suspend"}, "Total": 8.533847837782684E-4 }, { "Dimensions": {"db.wait_event.name": "wait/io/file/csv/data"}, "Total": 6.864181956477376E-4 }, { "Dimensions": {"db.wait_event.name": "Unknown"}, "Total": 3.895887056379051E-4 }, { "Dimensions": {"db.wait_event.name": "wait/synch/mutex/sql/FILE_AS_TABLE::LOCK_shim_lists"}, "Total": 3.710368625122906E-5 }, { "Dimensions": {"db.wait_event.name": "wait/lock/table/sql/handler"}, "Total": 0 } ] }
示例 2:查找对数据库负载贡献最大的语句的 SQL ID
以下
describe-dimension-keys
请求对数据库负载贡献最大的 10 条语句的 SQL 语句和 SQL ID。aws pi describe-dimension-keys \ --service-type
RDS
\ --identifierdb-abcdefg123456789
\ --start-time2023-05-01T00:00:00Z
\ --end-time2023-05-01T01:00:00Z
\ --metricdb.load.avg
\ --group-by '{"Group": "db.sql", "Dimensions": ["db.sql.id", "db.sql.statement"],"Limit": 10}
'输出:
{ "AlignedEndTime": 1.5270804E9, "AlignedStartTime": 1.5270264E9, "Identifier": "db-abcdefg123456789", "MetricList": [ { "Keys": [ { "Dimensions": {"db.sql.id": "AKIAIOSFODNN7EXAMPLE", "db.sql.statement": "SELECT * FROM customers WHERE customer_id = 123"}, "Total": 25.5,"Partitions": [12.3, 13.2] } ] } ] }
有关性能详情中维度的更多信息,请参阅《Amazon RDS 用户指南》中的数据库负载和《Amazon Aurora 用户指南》中的数据库负载。
-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 DescribeDimensionKeys
。
-
以下代码示例演示了如何使用 get-dimension-key-details
。
- Amazon CLI
-
获取数据库实例的指定维度组的详细信息
以下
get-dimension-key-details
示例检索数据库实例db-10BCD2EFGHIJ3KL4M5NO6PQRS5
的 SQL 语句的全文。--group
是db.sql
,--group-identifier
是db.sql.id
。在此示例中,example-sql-id
表示通过使用get-resource-metrics
或describe-dimension-keys
检索到的 SQL ID。在此示例中,有维度详细信息。因此,Performance Insights 将检索 SQL 语句的全文,而不会将其截断。aws pi get-dimension-key-details \ --service-type
RDS
\ --identifierdb-10BCD2EFGHIJ3KL4M5NO6PQRS5
\ --groupdb.sql
\ --group-identifierexample-sql-id
\ --requested-dimensionsstatement
输出:
{ "Dimensions":[ { "Value": "SELECT e.last_name, d.department_name FROM employees e, departments d WHERE e.department_id=d.department_id", "Dimension": "db.sql.statement", "Status": "AVAILABLE" }, ... ] }
有关性能详情中维度的更多信息,请参阅《Amazon RDS 用户指南》中的数据库负载和《Amazon Aurora 用户指南》中的数据库负载。
-
有关 API 详细信息,请参阅《Amazon CLI Command Reference》中的 GetDimensionKeyDetails
。
-
以下代码示例演示了如何使用 get-performance-analysis-report
。
- Amazon CLI
-
获取性能分析报告
以下
get-performance-analysis-report
示例获取数据库db-abcdefg123456789
的报告 ID 为report-0d99cc91c4422ee61
的性能分析报告。响应提供报告状态、ID、时间详细信息和见解。aws pi get-performance-analysis-report \ --service-type
RDS
\ --identifierdb-abcdefg123456789
\ --analysis-report-idreport-0d99cc91c4422ee61
输出:
{ "AnalysisReport": { "Status": "Succeeded", "ServiceType": "RDS", "Identifier": "db-abcdefg123456789", "StartTime": 1680583486.584, "AnalysisReportId": "report-0d99cc91c4422ee61", "EndTime": 1680587086.584, "CreateTime": 1680587087.139, "Insights": [ ... (Condensed for space) ] } }
有关性能分析报告的更多信息,请参阅《Amazon RDS 用户指南》中的分析一段时间内的数据库性能和《Amazon Aurora 用户指南》中的分析一段时间内的数据库性能。
-
有关 API 详细信息,请参阅《Amazon CLI Command Reference》中的 GetPerformanceAnalysisReport
。
-
以下代码示例演示了如何使用 get-resource-metadata
。
- Amazon CLI
-
获取数据库的资源元数据
以下
get-resource-metadata
示例获取数据库db-abcdefg123456789
的资源元数据。响应显示 SQL 摘要统计信息已启用。aws pi get-resource-metadata \ --service-type
RDS
\ --identifierdb-abcdefg123456789
输出:
{ "Identifier": "db-abcdefg123456789", "Features":{ "SQL_DIGEST_STATISTICS":{ "Status": "ENABLED" } } }
有关性能详情的 SQL 统计数据的更多信息,请参阅《Amazon RDS 用户指南》中的性能详情的 SQL 统计数据和《Amazon Aurora 用户指南》中的性能详情的 SQL 统计数据。
-
有关 API 详细信息,请参阅《Amazon CLI Command Reference》中的 GetResourceMetadata
。
-
以下代码示例演示了如何使用 get-resource-metrics
。
- Amazon CLI
-
获取资源指标
此示例为 db.wait_event 维度组以及该组中的 db.wait_event.name 维度请求数据点。在响应中,相关的数据点按请求的维度(db.wait_event.name)分组。
命令:
aws pi get-resource-metrics --service-type
RDS
--identifierdb-LKCGOBK26374TPTDFXOIWVCPPM
--start-time1527026400
--end-time1527080400
--period-in-seconds300
--metricdb.load.avg
--metric-queriesfile://metric-queries.json
--metric-queries
的参数存储在 JSON 文件(metric-queries.json
)中。以下是该文件的内容:[ { "Metric": "db.load.avg", "GroupBy": { "Group":"db.wait_event" } } ]
输出:
{ "AlignedEndTime": 1.5270804E9, "AlignedStartTime": 1.5270264E9, "Identifier": "db-LKCGOBK26374TPTDFXOIWVCPPM", "MetricList": [ { "Key": { "Metric": "db.load.avg" }, "DataPoints": [ { "Timestamp": 1527026700.0, "Value": 1.3533333333333333 }, { "Timestamp": 1527027000.0, "Value": 0.88 }, <...remaining output omitted...> ] }, { "Key": { "Metric": "db.load.avg", "Dimensions": { "db.wait_event.name": "wait/synch/mutex/innodb/aurora_lock_thread_slot_futex" } }, "DataPoints": [ { "Timestamp": 1527026700.0, "Value": 0.8566666666666667 }, { "Timestamp": 1527027000.0, "Value": 0.8633333333333333 }, <...remaining output omitted...> ], }, <...remaining output omitted...> ] }
-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 GetResourceMetrics
。
-
以下代码示例演示了如何使用 list-available-resource-dimensions
。
- Amazon CLI
-
列出可以在数据库实例上针对指标类型查询的维度
以下
list-available-resource-dimensions
示例列出了您可以为数据库db-abcdefg123456789
查询的db.load
指标。aws pi list-available-resource-dimensions \ --service-type
RDS
\ --identifierdb-abcdefg123456789
\ --metricsdb.load
输出:
{ "MetricDimensions": [ { "Metric": "db.load", "Groups": [ { "Group": "db.user", "Dimensions": [ { "Identifier": "db.user.id" }, { "Identifier": "db.user.name" } ] }, { "Group": "db.sql_tokenized", "Dimensions": [ { "Identifier": "db.sql_tokenized.id" }, { "Identifier": "db.sql_tokenized.db_id" }, { "Identifier": "db.sql_tokenized.statement" } ] }, ... ] } ] }
有关性能详情中维度的更多信息,请参阅《Amazon RDS 用户指南》中的数据库负载和《Amazon Aurora 用户指南》中的数据库负载。
-
有关 API 详细信息,请参阅《Amazon CLI Command Reference》中的 ListAvailableResourceDimensions
。
-
以下代码示例演示了如何使用 list-available-resource-metrics
。
- Amazon CLI
-
列出可以在数据库实例上针对指标类型查询的指标
以下
list-available-resource-metrics
示例列出了您可以为数据库db-abcdefg123456789
查询的db.load
指标。aws pi list-available-resource-metrics \ --service-type
RDS
\ --identifierdb-abcdefg123456789
\ --metric-types"os"
"db"
输出:
{ "Metrics": [ { "Description": "The number of virtual CPUs for the DB instance", "Metric": "os.general.numVCPUs", "Unit": "vCPUs" }, ......, { "Description": "Time spent reading data file blocks by backends in this instance", "Metric": "db.IO.read_latency", "Unit": "Milliseconds per block" }, ...... ] }
有关性能详情中指标的更多信息,请参阅《Amazon RDS 用户指南》中的数据库负载和《Amazon Aurora 用户指南》中的数据库负载。
-
有关 API 详细信息,请参阅《Amazon CLI Command Reference》中的 ListAvailableResourceMetrics
。
-
以下代码示例演示了如何使用 list-performance-analysis-reports
。
- Amazon CLI
-
列出数据库的性能分析报告
以下
list-performance-analysis-reports
示例列出了数据库db-abcdefg123456789
的性能分析报告。响应列出了所有带有报告 ID、状态和时间段详细信息的报告。aws pi list-performance-analysis-reports \ --service-type
RDS
\ --identifierdb-abcdefg123456789
输出:
{ "AnalysisReports": [ { "Status": "Succeeded", "EndTime": 1680587086.584, "CreateTime": 1680587087.139, "StartTime": 1680583486.584, "AnalysisReportId": "report-0d99cc91c4422ee61" }, { "Status": "Succeeded", "EndTime": 1681491137.914, "CreateTime": 1681491145.973, "StartTime": 1681487537.914, "AnalysisReportId": "report-002633115cc002233" }, { "Status": "Succeeded", "EndTime": 1681493499.849, "CreateTime": 1681493507.762, "StartTime": 1681489899.849, "AnalysisReportId": "report-043b1e006b47246f9" }, { "Status": "InProgress", "EndTime": 1682979503.0, "CreateTime": 1682979618.994, "StartTime": 1682969503.0, "AnalysisReportId": "report-01ad15f9b88bcbd56" } ] }
有关性能分析报告的更多信息,请参阅《Amazon RDS 用户指南》中的分析一段时间内的数据库性能和《Amazon Aurora 用户指南》中的分析一段时间内的数据库性能。
-
有关 API 详细信息,请参阅《Amazon CLI Command Reference》中的 ListPerformanceAnalysisReports
。
-
以下代码示例演示了如何使用 list-tags-for-resource
。
- Amazon CLI
-
列出性能分析报告的标签
以下
list-tags-for-resource
示例列出报告 ID 为report-0d99cc91c4422ee61
的性能分析报告的标签。aws pi list-tags-for-resource \ --service-type
RDS
\ --resource-arnarn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61
输出:
{ "Tags": [ { "Value": "test-tag", "Key": "name" } ] }
有关向性能分析报告添加标签的更多信息,请参阅《Amazon RDS 用户指南》中的在性能详情中向性能分析报告添加标签和《Amazon Aurora 用户指南》中的在性能详情中向性能分析报告添加标签。
-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 ListTagsForResource
。
-
以下代码示例演示了如何使用 tag-resource
。
- Amazon CLI
-
向性能分析报告添加标签
以下
tag-resource
示例将标签键name
以及标签值test-tag
添加到报告 ID 为report-0d99cc91c4422ee61
的性能分析报告。aws pi tag-resource \ --service-type
RDS
\ --resource-arnarn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61
\ --tagsKey=name,Value=test-tag
此命令不生成任何输出。
有关向性能分析报告添加标签的更多信息,请参阅《Amazon RDS 用户指南》中的在性能详情中向性能分析报告添加标签和《Amazon Aurora 用户指南》中的在性能详情中向性能分析报告添加标签。
-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 TagResource
。
-
以下代码示例演示了如何使用 untag-resource
。
- Amazon CLI
-
删除性能分析报告的标签
以下
untag-resource
示例删除报告 ID 为report-0d99cc91c4422ee61
的性能分析报告的标签name
。aws pi untag-resource \ --service-type
RDS
\ --resource-arnarn:aws:pi:us-west-2:123456789012:perf-reports/RDS/db-abcdefg123456789/report-0d99cc91c4422ee61
\ --tag-keysname
此命令不生成任何输出。
有关向性能分析报告添加标签的更多信息,请参阅《Amazon RDS 用户指南》中的在性能详情中向性能分析报告添加标签和《Amazon Aurora 用户指南》中的在性能详情中向性能分析报告添加标签。
-
有关 API 详细信息,请参阅《Amazon CLI 命令参考》中的 UntagResource
。
-