

# PERF04-BP03 收集和记录数据库性能指标
<a name="perf_right_database_solution_collect_metrics"></a>

 要了解数据管理系统的运行情况，跟踪相关指标非常重要。这些指标将帮助您优化数据管理资源，确保满足您的工作负载需求，并确保您清楚地了解工作负载的运行情况。使用各种工具、库和系统来记录与数据库性能相关的性能测量值。 

 

 有些指标与数据库所在的系统有关（例如，CPU、存储、内存、IOPS），有些指标与访问数据本身有关（例如，每秒事务数、查询速率、响应时间、错误）。这些指标应便于任何支持或操作人员访问，并具有足够的历史记录，以便能够识别趋势、异常和瓶颈。 

 

 **期望结果：** 为了监控数据库工作负载的性能，您必须记录一段时间内的多个性能指标。这样您便可以检测异常并根据业务指标衡量性能，确保满足您的工作负载需求。 

 **常见反模式：** 
+  您只能手动搜索日志文件来查找指标。 
+  您只将指标发布到团队使用的内部工具，而没有全面了解您的工作负载。 
+  您只使用所选监控软件记录的默认指标。 
+  您只在出现问题时检查指标。 
+  您只监控系统级指标，而不捕获数据访问或使用情况指标。 

 **建立此最佳实践的好处：** 建立性能基准有助于了解工作负载的正常行为和需求。可以更快地识别和调试异常模式，从而提高数据库的性能和可靠性。可以配置数据库容量，以确保在不影响性能的情况下实现最佳成本。 

 **未建立这种最佳实践的情况下暴露的风险等级：** 高 
+  无法区分异常与正常的性能水平会给问题识别和决策带来困难。 
+  可能无法确定潜在的成本节约机会。 
+  无法识别增长模式，这可能导致可靠性或性能下降。 

## 实施指导
<a name="implementation-guidance"></a>

 识别、收集、聚合和关联与数据库相关的指标。指标应包括支持数据库的底层系统指标和数据库指标。底层系统指标可包括 CPU 利用率、内存、可用磁盘存储、磁盘 I/O 和网络入站和出站指标，而数据库指标可包括每秒事务数、最多的查询、平均查询速率、响应时间、索引使用情况、表锁定、查询超时和打开的连接数。这些数据对于了解工作负载的性能以及数据库解决方案的使用方式至关重要。将这些指标用作数据驱动方法的一部分，以便调整和优化工作负载的资源。  

 **实施步骤：** 

1.  必须跟踪哪些数据库指标？ 

   1.  [监控 Amazon RDS 的指标](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Monitoring.html) 

   1.  [使用 Performance Insights 进行监控](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 

   1.  [增强监控](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html) 

   1.  [DynamoDB 指标](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html) 

   1.  [监控 DynamoDB DAX](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.Monitoring.html) 

   1.  [监控 MemoryDB](https://docs.aws.amazon.com/memorydb/latest/devguide/monitoring-cloudwatch.html) 

   1.  [监控 Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/metrics.html) 

   1.  [时间序列指标和维度](https://docs.aws.amazon.com/timestream/latest/developerguide/metrics-dimensions.html) 

   1.  [Aurora 的集群级指标](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Monitoring.Metrics.html) 

   1.  [监控 Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html) 

   1.  [监控 Amazon Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/monitoring.html) 

1.  数据库监控是否会受益于检测操作异常和性能问题的机器学习解决方案？ 

   1.  [Amazon DevOps Guru for Amazon RDS](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-rds.overview.how-it-works.html) 会显示性能问题，并提出纠正措施的建议。 

1.  您是否需要有关 SQL 使用情况的应用程序级详细信息？ 

   1.  [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html#api-segmentdocuments-sql) 可以签入到应用程序中以获得见解，并为单个查询封装所有数据点。 

1.  您目前是否有经过批准的日志记录和监控解决方案？ 

   1.  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 可以收集架构中各种资源的指标。您也可以收集和发布自定义指标，用于显示业务指标或派生指标。使用 CloudWatch 或第三方解决方案来设置指示超出阈值的警报。 

1.  您是否确定并配置了数据留存策略以匹配我的安全和运营目标？ 

   1.  [CloudWatch 指标的默认数据留存](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [CloudWatch Logs 的默认数据留存](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

 **实施计划的工作量级别： **从所有数据库资源中识别、跟踪、收集、聚合和关联指标所需的工作量为 *中* 。 

## 资源
<a name="resources"></a>

 **相关文档：** 
+ [AWS 数据库缓存 ](https://aws.amazon.com/caching/database-caching/) 
+ [ Amazon Athena 10 大性能提示 ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/)
+ [ Amazon Aurora 最佳实践 ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html)
+  [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/)
+ [Amazon DynamoDB 最佳实践 ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+ [Amazon Redshift Spectrum 最佳实践 ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+ [Amazon Redshift 性能 ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+ [AWS 云数据库 ](https://aws.amazon.com/products/databases/) 
+  [Amazon RDS Performance Insights](https://aws.amazon.com/rds/performance-insights/) 

 **相关视频：** 
+ [AWS 专用数据库（DAT209-L） ](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Amazon Aurora 存储揭秘：工作原理（DAT309-R） ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+  [Amazon DynamoDB 深入研究：高级设计模式 (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **相关示例：** 
+  [第 100 级：使用 CloudWatch 控制面板进行监控](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [AWS 数据集摄取指标收集框架](https://github.com/awslabs/aws-dataset-ingestion-metrics-collection-framework) 
+  [Amazon RDS 监控研讨会](https://www.workshops.aws/?tag=Enhanced%20Monitoring) 