阿里云RDS文档概述——性能优化

时间:2022-01-01 00:33:22

该系列博客的目录:

    概述与请求方式: http://blog.csdn.net/hyzhou33550336/article/details/41620595 (请先看这篇了解公共请求参数)

    实例管理:   http://blog.csdn.net/hyzhou33550336/article/details/41620749

    数据库管理: http://blog.csdn.net/hyzhou33550336/article/details/41620833

    数据迁入:   http://blog.csdn.net/hyzhou33550336/article/details/41620863

    账号管理:   http://blog.csdn.net/hyzhou33550336/article/details/41620879

    备份恢复:   http://blog.csdn.net/hyzhou33550336/article/details/41620899

    监控查询:   http://blog.csdn.net/hyzhou33550336/article/details/41620907

    日志查询:   http://blog.csdn.net/hyzhou33550336/article/details/41620917

    性能优化:   http://blog.csdn.net/hyzhou33550336/article/details/41620931

    参数设置:   http://blog.csdn.net/hyzhou33550336/article/details/41620595


性能优化
  • 查看SQL日志运行报告
  • 查看慢日志列表
  • 查看慢日志明细
  • 查看优化建议

 

查看SQL日志运行报告:

描述:

查询实例的SQL日志运行报告。

:一般作整点查询,如查询2-3点的运行报告

请求参数:

名称

类型

是否必须

描述

Action

String

系统规定参数,取值: DescribeSQLLogReports

DBInstanceId

String

实例名

StartTime

String

查询开始时间,格式如: yyyy-MM-dd'T’HH:mm:ssZ

EndTime

String

查询结束时间,格式如: yyyy-MM-dd'T’HH:mm:ssZ,且大于查询开始时间

PageSize

Integer

每页记录数,取值:30|50|100;默认值: 30

PageNumber

Integer

页码,大于0,且不超过Integer的最大值;默认值: 1

返回参数:

名称

类型

描述

TotalRecordCount

Integer

总记录数

PageNumber

Integer

页码

PageRecordCount

Integer

本页SQL日志运行报告个数

Items

List<SQLReport>

 

SQLReport:

名称

类型

描述

SQLText

String

SQL语句

TotalExecutionCounts

String

执行总时长

TotalExecutionTimes

String

总消耗时间

ReturnTotalRowCounts

String

返回行总数

TotalExecutionTimes

String

总消耗时间

示例:

请求示例:

https://rds.aliyuncs.com/?Action=DescribeSQLLogReports

&DBInstanceId=riauvjz6zajfiq6ba1370329449201

&StartTime=2011-06-11T15:00:00Z

&EndTime=2013-06-05T15:00:00Z

&<公共请求参数>

返回示例:

XML格式:

<DescribeSQLLogReportsResponse>

<RequestId>08A3B71B-FE08-4B03-974F-CC7EA6DB1828</RequestId>

<TotalRecordCount>1</TotalRecordCount>

<PageNumber>1</PageNumber>

<PageRecordCount>1<PageRecordCount>

<Items>

<SQLReport>

<SQLText>update test.zxb set id=0 limit 1</SQLText>

<TotalExecutionCounts>12</TotalExecutionCounts>

<TotalExecutionTimes>34</TotalExecutionTimes>

<ReturnTotalRowCounts>25</ReturnTotalRowCounts>

<TotalExecutionTimes>54</TotalExecutionTimes>

</SQLReport>

</Items>

</DescribeSQLLogReportsResponse>

JSON格式:

{

"PageNumber":1,

"TotalRecordCount":1,

"PageRecordCount":1

"Items": {

"SQLReport": [

{

"SQLText":"update test.zxb set id=0 limit 1"

"TotalExecutionCounts":"12"

"TotalExecutionTimes":"34"

"ReturnTotalRowCounts":"25"

"TotalExecutionTimes":"54"

}

]

},

"RequestId":"08A3B71B-FE08-4B03-974F-CC7EA6DB1828"

}

 

 

查看慢日志列表:

描述:

说明:用户可以查询某日期范围内、某个用户实例下、某个DB的慢查询汇总情况。

支持分页查询。SQLServerMySQL两种数据库实例类型,慢查询返回的SQLs参数值是不一样的,详情请见下面的SQLs参数表

请求参数:

名称

类型

是否必须

描述

Action

String

系统规定参数,取值: DescribeSlowLogs

DBInstanceId

String

实例名

StartTime

String

查询开始日期,格式:YYYY-MM-DDZ,2011-05-30Z

EndTime

String

查询结束日期,不能小于查询开始日期;格式:YYYY-MM-DDZ,如2011-05-30Z

DBName

String

DB名称

SortKey

String

排序依据,取值:

TotalExecutionCounts:总执行次数最多

TotalQueryTimes:总执行时间最多

TotalLogicalReads:总逻辑读最多

TotalPhysicalReads:总物理读最多

此参数对SQLServer实例有效,SQLServer类型必传此参数

PageSize

Integer

每页记录数,取值:30|50|100;默认值: 30

PageNumber

Integer

页码,大于0,且不超过Integer的最大值;默认值: 1

返回参数:

名称

类型

描述

Engine

String

数据库类型

StartTime

String

查询开始日期,格式: YYYY-MM-DDZ,2011-05-30Z

EndTime

String

查询结束日期,格式: YYYY-MM-DDZ,2011-05-30Z

TotalRecordCount

Integer

总记录数

PageNumber

Integer

页码

PageRecordCount

Integer

本页SQL语句个数

Items

List<SQLSlowLog>

实例类型为MySQLSQLSlowLog参数:名称类型描述

DBName

String

DB名称

SQLText

String

查询语句

MySQLTotalExecutionCounts

Long

执行总次数

MySQLTotalExecut

Long

执行总时长,单位:秒

ionTimes

 

 

MaxExecutionTime

Long

执行最大时长,单位:秒

TotalLockTimes

Long

锁定总时长,单位:秒

MaxLockTime

Long

锁定最大时长,单位:秒

ParseTotalRowCounts

Long

解析总行数

ParseMaxRowCount

Long

解析最大行数

ReturnTotalRowCounts

Long

返回总行数

ReturnMaxRowCount

Long

返回最大行数

CreateTime

String

数据生成日期;格式:"yyyy-MM-ddZ",2011-05-30Z

实例类型为SQLServerSQLSlowLog参数:

名称

类型

描述

SQLText

String

查询语句

SQLServerTotalExecutionCounts

Long

总执行次数

SQLServerTotalExecutionTimes

Long

总执行时间,单位:毫秒

TotalLogicalReadcounts

Long

总逻辑读

TotalPhysicalReadcounts

Long

总物理读

ReportTime

String

数据报表生成日期;格式:"yyyy-MM-ddZ",2011-05-30Z

示例:

请求示例:

https://rds.aliyuncs.com/?Action=DescribeSlowLogs

&DBInstanceId=riauvjz6zajfiq6ba1370329449201

&StartTime=2011-06-11T15:00:00Z

&EndTime=2013-06-05T15:00:00Z

&SortKey=TotalExecutionCounts

&<公共请求参数>

返回示例:

XML格式:

<DescribeSlowLogsResponse>

<RequestId>A5409D02-D661-4BF3-8F3D-0A814D0574E7</RequestId>

<DBInstanceID>riauvjz6zajfiq6ba1370329449201</DBInstanceID>

<Engine>SQLServer</Engine>

<StartTime>2012-06-11T15:00Z</StartTime>

<EndTime>2013-10-17T15:00Z</EndTime>

<TotalRecordCount>1</TotalRecordCount>

<PageNumber>1</PageNumber>

<PageRecordCount>1</PageRecordCount>

<Items>

<SQLSlowLog>

<SQLText>update test.zxb set id=0 limit 1</SQLText>

<SQLServerTotalExecutionCounts>178</SQLServerTotalExecutionCounts>

<SQLServerTotalExecutionTimes>189</SQLServerTotalExecutionTimes>

<TotalLogicalReadcounts>89</TotalLogicalReadcounts>

<TotalPhysicalReadcounts>90</TotalPhysicalReadcounts>

<ReportTime>2013-11-12Z</ReportTime>

</SQLSlowLog>

</Items>

</DescribeSlowLogsResponse>

JSON格式:

{

"RequestId":"A5409D02-D661-4BF3-8F3D-0A814D0574E7"

"StartTime":"2011-06-11T15:00:00Z",

"EndTime":"2013-06-05T15:00:00Z",

"Engine":"SQLServer",

"PageNumber":1,

"PageRecordCount":1,

"TotalRecordCount"1,

"Items": {

"SQLSlowLog": [

{

"SQLText":"update test.zxb set id=0 limit 1"

"SQLServerTotalExecutionCounts":178

"SQLServerTotalExecutionTimes":189

"TotalLogicalReadcounts":89

"TotalPhysicalReadcounts":90

"ReportTime":"2013-11-12Z"

}

]

}

}

 

 

查看慢日志明细:

描述:

说明:用户可以查询某日期范围内、某个用户实例下、某个DB的慢查询明细,仅支持MySQL数据库。

请求参数:

名称

类型

是否必须

描述

Action

String

系统规定参数,取值: DescribeSlowLogRecords

DBInstanceId

String

实例名

StartTime

String

查询开始时间,格式: YYYY-MM-DD'T'HH:mmZ,如2011-05-30T12:10Z

EndTime

String

查询结束时间,必须大于查询开始时间;格式: YYYY-MM-DD'T'HH:mm Z

DBName

String

DB名称

PageSize

Integer

每页记录数,取值:30|50|100;默认值: 30

PageNumber

Integer

页码,大于0,且不超过Integer的最大值;默认值: 1

返回参数:

名称

类型

描述

Engine

String

数据库类型

TotalRecordCount

Integer

总记录数

PageNumber

Integer

页码

PageRecordCount

Integer

本页SQL日志个数

Items

List<SQLSlowRecord>

 

SQLSlowRecord参数:

名称

类型

描述

HostAddress

String

用户连接数据库的主机地址

DBName

String

DB名称

SQLText

String

查询语句

QueryTimes

Long

执行时长,单位:秒

LockTimes

Long

锁定时长,单位:秒

ParseRowCounts

Long

解析行数

ReturnRowCounts

Long

返回行数

ExecutionStartTime

String

执行开始时间;格式: YYYY-MM-DD’T’HH:mm:ss Z,如2011-05-30T12:11:20Z

示例:

请求示例:

https://rds.aliyuncs.com/?Action=DescribeSlowLogRecords

&DBInstanceId=riauvjz6zajfiq6ba1370329449201

&StartTime=2011-06-11T15:00:00Z

&EndTime=2013-06-05T15:00:00Z

&<公共请求参数>

返回示例:

XML格式:

<DescribeSlowLogRecordsResponse>

<RequestId>542BB8D6-4268-45CC-A557-B03EFD7AB30A</RequestId>

<DBInstanceID>riauvjz6zajfiq6ba1370329449201</DBInstanceID>

<Engine>MySQL</Engine>

<StartTime>2012-06-11T15:00Z</StartTime>

<EndTime>2013-10-17T15:00Z</EndTime>

<TotalRecordCount>1</TotalRecordCount>

<PageNumber>1</PageNumber>

<PageRecordCount>1</PageRecordCount>

<Items>

<SQLSlowRecord>

<HostAddress>192.168.0.123</HostAddress>

<DBName>test</DBName>

<SQLText>update test.zxb set id=0 limit 1</SQLText>

<QueryTimes>123</QueryTimes>

<LockTimes>12</LockTimes>

<ParseRowCounts>125</ParseRowCounts>

<ReturnRowCounts>1</ReturnRowCounts>

<ExecutionStartTime>2012-06-11T15:00:08Z</ExecutionStartTime>

</SQLSlowRecord>

</Items>

</DescribeSlowLogRecordsResponse>

JSON格式:

{

"RequestId":"542BB8D6-4268-45CC-A557-B03EFD7AB30A"

"StartTime":"2011-06-11T15:00:00Z",

"EndTime":"2013-06-05T15:00:00Z",

"Engine":"MySQL",

"PageNumber":1,

"PageRecordCount":1,

"TotalRecordCount":1

"Items": {

"SQLSlowRecord": [

{

HostAddress:”192.168.0.123”

DBName:”test”

SQLText:”update test.zxb set id=0 limit 1”

QueryTimes:”123”

LockTimes”12”

ParseRowCounts:”125”

ReturnRowCounts:”1”

ExecutionStartTime:”2012-06-11T15:00:08Z”

}

]

}

}

 

 

查看优化建议

RDS提供了丰富的性能诊断功能,如存储引擎检查、主键检查,索引过多等等

 

查看优化建议-存储引擎:

描述:

说明:检查数据库存储引擎的问题,必要时会给出建议,只支持MySQL

请求参数:

名称

类型

是否必须

描述

Action

String

系统规定参数,取值:DescribeOptimizeAdviceOnStorage

DBInstanceId

String

实例名

PageSize

Integer

每页记录数,取值:30|50|100;默认30

PageNumber

Integer

页码,大于0,且不超过Integer的最大值;默认1

返回参数:

名称

类型

描述

TotalRecordsCount

Integer

总记录数

PageNumber

Integer

页码

PageRecordCount

Integer

记录列表个数

Items

List<AdviceOnStorage>

 

AdviceOnStorage:

名称

类型

描述

DBName

String

数据库名

TableName

String

数据表名

CurrentEngine

String

存储引擎

AdviseEngine

Sting

建议存储引擎 to abs:统一设置为InnoDB

示例:

请求示例:

https://rds.aliyuncs.com/?Action=DescribeOptimizeAdviceOnStorage

&DBInstanceId=riauvjz6zajfiq6ba1370329449201

&<公共请求参数>

返回示例:

XML格式:

<DescribeOptimizeAdviceOnStorageResponse>

<RequestId>08A3B71B-FE08-4B03-974F-CC7EA6DB1828</RequestId>

<TotalRecordCount>1</TotalRecordCount>

<PageNumber>1</PageNumber>

<PageRecordCount>1<PageRecordCount>

<Items>

<AdviceOnStorage>

<DBName>DBTest11</DBName>

<TableName>Tabletest12</TableName>

<CurrentEngine>MyIsam</CurrentEngine>

<AdviseEngine>Innodb</AdviseEngine>

</AdviceOnStorage>

</Items>

</DescribeOptimizeAdviceOnStorageResponse>

JSON格式:

{

"PageNumber":1,

"TotalRecordCount":1,

"PageRecordCount":1

"Items": {

"AdviceOnStorage ": [

{

"DBName":"DBTest11"

"TableName":"Tabletest12"

"CurrentEngine":"MyIsam"

"AdviseEngine":"Innodb"

}

]

},

"RequestId":"08A3B71B-FE08-4B03-974F-CC7EA6DB1828"

}

 

 

 

查看优化建议-大表检查:

描述:

说明:检查数据表大于2G的表

请求参数:

名称

类型

是否必须

描述

Action

String

系统规定参数,取值:DescribeOptimizeAdviceOnBigTable

DBInstanceId

String

实例名

PageSize

Integer

每页记录数,取值:30|50|100默认30

PageNumber

Integer

页码,大于0,且不超过Integer的最大值;默认1

返回参数:

名称

类型

描述

TotalRecordCount

Integer

总记录数

PageNumber

Integer

页码

PageRecordCount

Integer

本页SQL语句个数

Items

List<AdviceOnBigTable>

AdviceOnBigTable名称类型描述

DBName

String

数据库名

TableName

String

数据表名

TableSize

Long

表大小(数据大小+索引大小),单位:Byte

DataSize

Long

数据大小,单位:Byte

IndexSize

Long

索引大小,单位:Byte

示例:

请求示例:

https://rds.aliyuncs.com/?Action=DescribeOptimizeAdviceOnBigTable

&DBInstanceId=riauvjz6zajfiq6ba1370329449201

&<公共请求参数>

返回示例:

XML格式:

<DescribeOptimizeAdviceOnBigTableResponse>

<RequestId>089FD688-826C-4EAF-8E78-3C342AC5B398</RequestId>

<TotalRecordCount>1</TotalRecordCount>

<PageNumber>1</PageNumber>

<PageRecordCount>1<PageRecordCount>

<Items>

<AdviceOnBigTable>

<DBName>DBTest11</DBName>

<TableName>Tabletest12</TableName>

<TableSize>10485760</TableSize>

<DataSize>7000000</DataSize>

<IndexSize>3495253</IndexSize>

</AdviceOnBigTable>

</Items>

</DescribeOptimizeAdviceOnBigTableResponse>

JSON格式:

{

"PageNumber":1,

"TotalRecordCount":1,

"PageRecordCount":1

"Items": {

"AdviceOnBigTable": [

{

"DBName":"DBTest11"

"TableName":"Tabletest12"

"TableSize":10485760

"DataSize":7000000

"IndexSize":3495253

}

]

},

"RequestId":"0089FD688-826C-4EAF-8E78-3C342AC5B398"

}

 

 

 

查看优化建议-主键检查:

描述:

说明:检查数据库中没有创建主键的表

请求参数:

名称

类型

是否必须

描述

Action

String

系统规定参数,取值:DescribeOptimizeAdviceOnMissPK

DBInstanceId

String

实例名

Pagesize

Integer

每页记录数,取值:30|50|100默认30

PageNumber

Integer

页码,大于0,且不超过Integer的最大值;默认1

返回参数:

名称

类型

描述

TotalRecordCount

Integer

总记录数

PageNumber

Integer

页码

PageRecordCount

Integer

本页SQL语句个数

Items

List<AdviceOnMissPK>

 

AdviceOnMissPK:

名称

类型

描述示例

DBName

String

数据库名

TableName

String

数据表名

示例:

请求示例:

https://rds.aliyuncs.com/?Action=DescribeOptimizeAdviceOnMissPK

&DBInstanceId=riauvjz6zajfiq6ba1370329449201

&<公共请求参数>

返回示例:

XML格式:

<DescribeOptimizeAdviceOnMissPKResponse>

<RequestId>E3D70B63-BD54-481C-A669-3720FF436EF6</RequestId>

<TotalRecordCount>1</TotalRecordCount>

<PageNumber>1</PageNumber>

<PageRecordCount>1<PageRecordCount>

<Items>

<AdviceOnMissPK>

<DBName>DBTest11</DBName>

<TableName>Tabletest12</TableName>

</AdviceOnMissPK>

</Items>

</DescribeOptimizeAdviceOnMissPKResponse>

JSON格式:

{

"PageNumber":1,

"TotalRecordCount":1,

"PageRecordCount":1

"Items": {

"AdviceOnMissPK": [

{

"DBName":"DBTest11"

"TableName":"Tabletest12"

}

]

},

"RequestId":" E3D70B63-BD54-481C-A669-3720FF436EF6"

}

 

 

 

 

查看优化建议-索引过多:

描述:

说明:根据RDS的运行情况,系统将提示哪些数据库表中的索引偏多,建议用户修改表结构。

请求参数:

名称

类型

是否必须

描述

Action

String

系统规定参数,取值:DescribeOptimizeAdviceOnExcessIndex

DBInstanceId

String

实例名

Pagsize

Integer

每页记录数,取值:30|50|100默认30

PageNumber

Integer

页码,大于0,且不超过Integer的最大值;默认1

返回参数:

名称

类型

描述

TotalRecordCount

Integer

总记录数

PageNumber

Integer

页码

PageRecordCount

Integer

本页SQL语句个数

Items

List< AdviceOnExcessIndex >

AdviceOnExcessIndex名称类型描述

DBName

String

数据库名

TableName

String

数据表名

IndexCount

Integer

数据表索引个数

示例:

请求示例:

https://rds.aliyuncs.com/?Action=DescribeOptimizeAdviceOnExcessIndex

&DBInstanceId=riauvjz6zajfiq6ba1370329449201

&<公共请求参数>

返回示例:

XML格式:

<DescribeOptimizeAdviceOnExcessIndexResponse>

<RequestId>B873F269-26F1-43BA-9D43-589A332092B8</RequestId>

<TotalRecordCount>1</TotalRecordCount>

<PageNumber>1</PageNumber>

<PageRecordCount>1<PageRecordCount>

<Items>

<AdviceOnExcessIndex>

<DBName>DBTest11</DBName>

<TableName>Tabletest12</TableName>

<IndexCount>9</IndexCount>

</AdviceOnExcessIndex>

</Items>

</DescribeOptimizeAdviceOnExcessIndexResponse>

JSON格式:

{

"PageNumber":1,

"TotalRecordCount":1,

"PageRecordCount":1

"Items": {

"AdviceOnExcessIndex": [

{

"DBName":"DBTest11"

"TableName":"Tabletest12"

"IndexCount":9

}

]

},

"RequestId":" B873F269-26F1-43BA-9D43-589A332092B8 "

}

 

 

 

查看优化建议-缺失索引:

描述:

说明:根据RDSSQL语句运行情况及性能,系统将提示缺失索引的数据库表,并提示添加索引的SQL语句。

请求参数:

名称

类型

是否必须

描述

Action

String

系统规定参数,取值:DescribeOptimizeAdviceOnMissIndex

DBInstanceId

String

实例名

Pagesize

Integer

每页记录数,取值:30|50|100|默认30

PageNumber

Integer

页码,大于0,且不超过Integer的最大值;默认1

返回参数:

名称

类型

描述

TotalRecordCount

Integer

总记录数

PageNumber

Integer

页码

PageRecordCount

Integer

本页SQL语句个数

Items

List<AdviceOnMissIndex>

 

AdviceOnMissIndex:

名称

类型

描述

DBName

String

数据库名

TableName

String

数据表名

QueryColumn

String

缺失索引的查询列

SQLText

String

推荐创建索引的SQL语句

示例:

请求示例:

https://rds.aliyuncs.com/?Action=DescribeOptimizeAdviceOnMissIndex

&DBInstanceId=riauvjz6zajfiq6ba1370329449201

&<公共请求参数>

返回示例:

XML格式:

<DescribeOptimizeAdviceOnMissIndexResponse>

<RequestId>08A3B71B-FE08-4B03-974F-CC7EA6DB1828</RequestId>

<TotalRecordCount>1</TotalRecordCount>

<PageNumber>1</PageNumber>

<PageRecordCount>1<PageRecordCount>

<Items>

<AdviceOnMissIndex>

<DBName>DBTest11</DBName>

<TableName>Tabletest12</TableName>

<QueryColumn>nickname</QueryColumn>

<SQLText>Alter table Tabletest12 add INDEX index_nickname(niakname)</SQLText>

</AdviceOnMissIndex>

</Items>

</DescribeOptimizeAdviceOnMissIndexResponse>

JSON格式:

{

"PageNumber":1,

"TotalRecordCount":1,

"PageRecordCount":1

"Items": {

"AdviceOnMissIndex": [

{

"DBName":"DBTest11"

"TableName":"Tabletest12"

"QueryColumn":"nickname"

"SQLText":"Altertable Tabletest12 add INDEX index_nickname(niakname) "

}

]

},

"RequestId":"08A3B71B-FE08-4B03-974F-CC7EA6DB1828"

}