DBA不可不知的Amazon RedShift 性能监控工具

日期: 2015-01-28 作者:Rob Wright翻译:Ranma 来源:TechTarget中国 英文

RedShift平台负担了大量的集群和数据库管理工作,但也并非面面俱到。有些AWS工具便填补了监控方面的空白。

Amazon RedShift是一个建立在PostgreSQL基础之上的数据仓库平台。Amazon Web Service处理了大多数集群和数据库软件管理方面的工作,使平台有着很好的易用性。但这并不意味着就可以对其撒手不管。管理员必须对集群进行监控并确保数据库能够满足性能需求。而且,AWS提供了一些可以帮助检测潜在性能问题的重要监控工具。

Amazon Redshift 在两类数据仓库性能监控上起着重要作用:系统性能监控和查询性能监控。系统监控的目标是确保你拥有合适的计算资源来满足当前需求。而查询监控则是设计用来帮助识别劣质的数据库代码并且可以满足终端用户的报表需求。

CloudWatch:系统性能监控工具

AWS CloudWatch是一款系统性能监控工具,它可以提供关于系统监控的相关指标,以及更为详细的信息,诸如CUP利用率,存储利用率等。CloudWatch最基本的功能是HealthStatus检查,它类似于一个服务器连接性测试(例如:ping)。CloudWatch给一个集群发送查询并以“健康”或“不健康”的诊断进行回应。

CPU利用率指标可以帮助确定集群大小是否合适。例如,如果CPU利用率一向偏高——在相当长的一段时间内高于80%——那就需要考虑调整集群的大小。同时,如果利用率始终偏低——低于40%——那么你就可以缩减集群。关系型数据库通常是CPU密集型的,尤其是在做连接操作的时候,因此对CPU指标进行跟踪是非常重要的。

这些指标还可以帮助发掘优化数据加载流程的方法。如果某些数据加载工作要执行CPU密集型操作,那么应该将它们安排在大量查询时间之外。云具有弹性,它可以允许IT团队根据需要添加和移除服务器。但是,如果存在一个明确的需求模式并且任务可以根据需求进行调整,那么这样就会节省某些管理开销。

CloudWatch还可以监控读/写IOPs,这在使用预分配IOPs时是很有帮助的。如果对终端用户来说性能缓慢,那么管理员可能就会为特定的负载预先配置更多的资源。同样,如果实际IOPs比预分配的低得多,那么这就可能是一个信号,即IT可能闲置了太多的IOPs。还有其他的指标包括存储磁盘利用率,读/写吞吐量,读/写延时以及网络吞吐量等。

负载性能监控

系统性能监控只是维护集群健康的一环。查询和负载性能监控是很重要的,对于频繁使用的查询尤为如此。大量用户通常会使用少量的查询,而对这些查询进行调优是非常值得的。

查询详情描述可用于AmazonRedShift查询。它包含一条SQL语句,可以展示是如何将SQL翻译成一系列程序步骤的,例如读取一个索引,读取数据块或是执行一个循环来连接记录。

留意那些非预期的或是丢失的步骤。例如,如果你希望数据库使用一条索引,但是它并没有对全表进行扫描,那么该索引可能是被误删除了。Load Summary和Load Detail报告同样可用,它们都能提供特定时间点特定负载的详细信息。收集到的信息包括查询ID,异常编号,运行过的SQL语句,以及运行一个查询所消耗的时间。

Amazon Redshift从控制面板进行直接访问让寻找这些信息变得轻而易举。值得注意的是,可以在Redshift面板进行查询和加载数据。CloudWatch界面可以让你同时查看多个指标。这在寻找系统同步压力点时是很有帮助的,例如在某些操作非常依赖读取和计算资源的情况下便是如此。管理员也可能会更改显示的时间范围来调整你想要监控的时间段,同时还能更改测量时间(例如,从五分钟变为十分钟)。

RedShift可以帮助减轻数据仓库管理员的负担。但实际上,它仍需要知识丰富的管理员来对系统性能和查询性能指标进行监控。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

翻译

Ranma
Ranma

相关推荐