您的位置:首页 > 其它

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

2014-11-30 10:49 183 查看
该系列博客的目录:
概述与请求方式: /article/11271808.html (请先看这篇了解公共请求参数)
实例管理: /article/11271809.html
数据库管理: /article/11271810.html
数据迁入: /article/11271811.html
账号管理: /article/11271812.html
备份恢复: /article/11271813.html
监控查询: /article/11271814.html
日志查询: /article/11271815.html
性能优化: /article/11271816.html
参数设置: /article/11271808.html

性能优化

查看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的慢查询汇总情况。
支持分页查询。SQLServer和MySQL两种数据库实例类型,慢查询返回的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>
实例类型为MySQL的SQLSlowLog参数:名称类型描述
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 "

}

查看优化建议-缺失索引:
描述:
说明:根据RDS的SQL语句运行情况及性能,系统将提示缺失索引的数据库表,并提示添加索引的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"

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: