一目了然 | 数据库实例性能调优利器:Performance Insights

Performance Insights是什么

阿里云RDS Performance Insights是RDS CloudDBA产品一项专一于用户数据库实例性能调优、负载监控和关联分析的利器,以简单直观的方式帮助用户迅速评估数据库负载,资源等待的源头和对应SQL查询语句,以此来指导用户在什么时候、何处、采起何种行动进行数据性能优化。前端

几个名词解释

Performance Insights:中文翻译过来叫性能洞察。
Active Session (AS):RDS数据库系统中,活跃的会话数量。
Average Active Session (AAS):一段时间内,RDS数据库中平均活跃会话数量。
Max Vcores:RDS数据库实例最大可使用到的CPU Cores数量。数据库

AAS和MaxVcores来量化系统瓶颈性能优化

在文章开始,咱们但愿可以把一个很是重要的问题解释清楚:为何可使用AAS (平均活跃会话数)与RDS数据库实例MaxVcores量化对比来做为系统瓶颈的判断依据?咱们的理由是:网络

首先,RDS数据库系统中,咱们认为最为重要的资源是CPU资源,由于其余全部资源都须要CPU来调度。架构

其次,CPU的并发处理能力,与CPU Cores的数量相关。假设在至关小的一个时间切片上,CPU对活跃会话(AS)处理能力瓶颈就是CPU Cores数量。即:CPU最多同时可以处理与Cores数量均等的活跃会话数。并发

所以,咱们能够用RDS数据库系统中,平均活跃会话(AAS)数与MaxVcores数的量化对比,作为断定系统是否存在瓶颈的重要依据。性能

Performance Insights能作什么

阿里云RDS Performance Insights可以帮助咱们的用户快速方便、直接了当的发现数据库实例负载,以及致使性能问题的SQL语句。目前Performance Insights页面以三个方面承载咱们的产品思路:优化

关键性能指标趋势图:关键资源利用率变化趋势图。阿里云

实时AAS变化趋势图:数据库实例中平均活跃会话(Average Active Sessions)实时变化趋势。
多wei负载信息:展现多wei度实例负载信息。
关键资源利用率趋势图spa

阿里云RDS Performance Insights关键性能指标的趋势图,能够从宏观的角度帮助客户发现实例负载的来源,好比:究竟是CPU资源吃紧,IOPS太高?仍是网络开销过大,又或是活跃链接数打满?
1.png

实时AAS变化趋势图

从关键资源利用率趋势图部分,咱们已经大体清楚了实例负载的来源。接下来,带着这个问题,咱们去看看目前实例中活跃会话的资源等待状况。那么,此时咱们能够来到页面的第二个部分:实时AAS变化趋势图。

2.png

从Performance Insights中的实时AAS变化趋势图中,咱们能够很是清晰的发现RDS实例中的资源等待状况。好比上图,咱们能够分析出如下重要信息:

时间10:25 - 10:57之间,平均活跃会话远远大于实例CPU Cores数量24(几个点低于CPU Cores),说明数据库已经面临比较大的系统瓶颈。
从AAS变化趋势图来看,几乎是在等待蓝色标示的资源,即CPU资源。

因而可知,咱们使用Performance Insights中的实时AAS变化趋势图,能够很是清晰简单,直接了当的找到用户RDS实例负载来源,资源等待于什么时候、何处,以及变化规律。

多wei度负载详情

通Performance Insights中的实时AAS变化趋势图,掌握了实例负载来源,资源等待及变化规律,接下来用户理所应当最关心的一个问题即是:到底致使这些实例负载的具体查询语句是什么?哪一个用户致使的?哪一个链接主机客户端?哪一个应用数据库?这一系列的问题咱们可使用多wei负载信息部分来解答。
3.png

从以上截图的下半部分,咱们能够方便的找出与AAS变化趋势关联的负载对应的SQL查询语句,以及每一个语句对AAS的贡献的对比状况。固然,您也能够根据本身的须要切换为Waits,Users,Hosts,Commands,Databases和Status,分别表示资源等待,用户,客户端主机,命令类型,数据库,进程状态等维度查看。

Performance Insights架构

了解阿里云RDS Performance Insights可以作什么之后,让咱们来看Performance Insights的设计架构图,简要归纳为五个字:四层两链路。

4.png

四层架构

RDS Performance Insights四层架构从上往下,依次为:

应用层:前端用户可见,承载着咱们产品的思路和逻辑,是终端用户可见的产品呈现。
服务层:各系统API协调工做,为应用层提供应用数据服务,咱们产品主要的业务逻辑处理层。
数据层:数据实时处理平台,统计汇总,数据扁平化,实时计算,最终持久化到元数据库中,为服务层提供数据。
采集层:从RDS实例中,采集有价值的基础数据,为数据层输入数据。

两条链路

从数据链路来看Performance Insights,有两条链路:

访问链路:数据至上而下请求访问,至下而上的数据返回。
采集链路:数据从生产到消费,从统计汇总到最终落库整个生命过程。

典型案例

如下两个典型案例,来看看Performance Insights如何一目了然,一针见血的帮助咱们诊断分析数据库系统瓶颈,资源等待和SQL查询语句。

为何CPU 100%了
XXX时间点SQL查询变慢了

为何CPU 100%了?

在咱们多年的专家服务过程当中, 遇到最多的用户问题即是“为何个人CPU 100%了”,来看看Performance Insights是如何庖丁解牛这个问题。

Performance Insights截图

如下是该RDS实例,Performance Insights页面截图。

5.png

分析

咱们从Performance Insights页面截图分析出如下几个问题:

从资源利用率中CPU使用率和活跃会话数量来看:大概在 09:59 - 10:05,均有大幅上升。CPU使用率达到了100%,活跃会话(Active Sessions)达到了400+;

AAS变化趋势中发现,这段时间内,系统瓶颈主要集中在CPU和Lock两资源的等待,总的Active Sessions数远远超过CPU Cores(实例的CPU Cores为16),存在严重的系统瓶颈。

SQL语句详情部分:很是清晰的看到排在第一位的SQL查询语句是等待CPU资源,达到了96个活跃会话;第二位是Lock资源等待,达到了79个会话,能够点击SQL语句,查看详情。

XXX时间点SQL查询变慢了

另外,用户常常遇到的一个问题是“为何个人SQL查询语句忽然变慢了”?

Performance Insights截图

某RDS实例用户反馈在16:05左右,本来执行很快的Update语句,忽然变得很慢,16:08左右恢复正常,如下是该RDS实例Performance Insights页面截图。

6.png

分析

从Performance Insights截图,咱们能够分析出:

从AAS变化趋势图中,发现大约从16:05:50秒开始,系统出现了大量等待Lock资源的活跃会话(图中橙色颜色区域),达到了33个,远超CPU Cores数。

从截图最下部分SQL查询中,发现等待Lock资源的SQL语句(第一条,橙色标示),恰巧是用户抱怨变慢的Update操做语句。因而咱们能够很快判定,这个Update变慢的缘由是资源被锁住,致使等待锁资源释放时间过长,拉长了执行时间,即Update语句变慢了。
从AAS变化趋势图中,发现大约在16:07:20左右,等待锁资源的活跃进程消失了,Update语句性能恢复正常,说明锁资源已经释放。

以上,咱们从两个特定的用户案例能够看到Performance Insights能够简单直观,轻松愉悦的帮助用户诊断问题,关联分析系统瓶颈,资源等待和SQL查询,取得了很是好的效果。

Performance Insights的将来

伴随阿里云RDS Performance Insights第一期发布,咱们已经能够帮助用户快速发现RDS实例性能问题,以及致使性能问题的具体SQL查询。可是,这远远不够,咱们还须要更深刻的帮助咱们的客户自动化、智能化解决问题。

从“是什么”到“为何”

当前,用户经过阿里云RDS Performance Insights找到了致使性能问题的具体查询SQL语句后,接下来很天然的一个问题是,为何这个查询语句会致使性能问题?是缺失必要的索引?统计信息数据倾斜?查询数据类型转换?Non-SARG查询等等?接下来,咱们须要深刻探索为何SQL会致使性能问题。

从“为何”到“怎么办”

当用户知道了SQL语句为何有性能问题之后,接下来的问题即是:我该怎么作才能解决性能问题?咱们须要明确告诉用户怎么办就可以解决性能问题。

从“怎么办”到“自动办”

随着用户可以解决SQL语句性能问题之后,用户接下来最为迫切的需求即是:阿里云可否帮咱们预先发现、智能化、自动化处理解决这些相似的问题?

以上,即是RDS Performance Insights的产品脉络,从是什么到为何;从为何到怎么办;从怎么办到自动办,层层递进,步步为营,一步一步创造客户愈来愈高的诊断优化需求。

最后总结

阿里云RDS Performance Insights是数据库实例性能调优、负载监控、关联分析的必备利器,它能够帮助用户决策从何处下手,什么时候采起行动,采起何种行动以及智能化自动解决问题根源。咱们有能力有信心能够帮助咱们的客户更好的上好阿里云,用好阿里云。

 

在云栖
与技术大神不期而遇

李飞飞.png

 

阅读原文

本文为云栖社区原创内容,未经容许不得转载。

相关文章
相关标签/搜索