SqlServer知识积累

目录

一.阶段性成果

二.RDS知识总结

三.索引建立

四.脚本及规范汇总


​​​​​​​

一.阶段性成果

0

0

0

DAS控制台

趋势指标字典

7月6日 VS 9月13日(索引优化和sql优化)

9月13日 VS 9月22日(日志分库)

主要操作:索引优化、sql优化、日志分库

二.RDS知识总结

性能指标

页生命周期

Page_Life_Expectancy(秒)

页生命周期

是诊断缓存的一个常用性能指标,表示平均每个缓存的数据页在内存中驻留的时间,单位为秒。时间越短,意味着实例的内存压力越大。

QPS / TPS

QPS(个)

每秒批处理请求数。

数据库每秒执行的SQL数,包含INSERT、SELECT、UPDATE、DETELE、COMMIT等

TPS_Transactions(个)

每秒为数据库启动的事务数。

TPS指的是系统吞度量,也是每秒系统处理的数量。可基于测试周期内完成的事务数量计算得出。例如,用户每分钟执行6个事务,TPS为6 /60s = 0.10 TPS。假如TPS每秒并发太低,很容易造成网络拥堵严重

TPS_Transactions_Writes(个)

在上一秒钟内写入数据库并提交的事务数。

有许多事务执行时间不同,也有未提交事务。每个事务量大小不同,执行的时间也不同

Log性能

Log_Bytes_Flushed/sec(byte)

每秒刷新的日志大小。

每秒向日志文件中写入的字节数,增、删、改操作会产生日志操作多。Log_Bytes_Flushed/sec指标也会升高

进程阻塞

Longest_Transaction_Running_Time(秒)

长的事务启动后运行的时间长度

监视使用行版本控制的事务的最长运行时间(秒)。 这可用于确定是否存在事务的运行时间不合适的情况

Processes_Blocked(个)

当前阻塞的进程数。

IO吞吐量

IO_Throughput_Read_Kb

IO读取吞吐量。

IO_Throughput_Total_Kb

IO总吞吐量。

IO_Throughput_Write_kb

IO写入吞吐量。

连接相关

Active_Sessions(个)

活跃会话数量。

当前在消耗系统资源的会话

Total_Connections(个)

当前与 SQL Server 连接的用户数。

连接池会保持用户的连接

CPU使用率

CPU_Utilization(%)

CPU使用率。

线程等待

ASYNC_NETWORK_IO(ms)

数据库服务等待客户端取走数据的等待时间。

CXPACKET(ms)

线程正在等待其他并行线程处理完成。

IO_COMPLETION(ms)

等待 I/O 操作完成。

PAGEIOLATCH_SH(ms)

任务等待 I/O 请求(共享模式)中缓冲区的闩锁。

提示 I/O 压力

PAGEIOLATCH_UP(ms)

任务等待 I/O 请求(更新模式)中缓冲区的闩锁。

提示 I/O 压力

PAGELATCH_SH(ms)

任务等待不处于 I/O 请求(共享模式)中的缓冲区闩锁。

提示Tempdb资源争抢,内存压力

SOS_SCHEDULER_YIELD(ms)

该等待与CPU有直接关系。

提示CPU压力

Average Active Sessions(AAS)

Active Session:At any given time, there are users connected to the database, each of them performing some work, a query, an update…a report. Some sessions might be idle, some might be waiting on resources, some might be actively doing work. The sessions are using resources: CPU, I/O...

AAS = DBTime / ClockTime

DBTime&ClockTime

0

0

In the example above the AAS=10/5=2

If AAS ~ 0 then the database is idle.

If AAS < 1 the database is fine

If AAS  the database is fine

If AAS ~ # of CPUs there might be performance problems

If AAS > # of CPUs there is definitely a performance problem.

锁优化

  • Processes_blocked:被阻塞的会话数量。
  • Uncommited_tran:未被提交的事务数量。

两者关联关系:锁不被释放的原因,即事务未被提交

采样原理

通常,单个会话阻塞2秒左右不会有太大问题,但短期内连续出现多个会话阻塞超过2秒的情况就会对整个系统产生显著影响。

系统每10秒会对锁阻塞的情况进行一次采样,在系统进行采样的时间点,只要当一个会话执行SQL时间超过2秒、并且阻塞了其他会话的执行,就会被捕捉并统计到锁阻塞统计页面。

零碎知识

  • RDS SQL Server如何回收表空间。

RDS SQL Server在删除变长列或者减小变长列的长度后,表的大小不会自动减小。其中变长列包括的字段类型有varchar、nvarchar、varchar(max)、 nvarchar(max)、varbinary、text、ntext、image、sql_variant、varbinary(max)、xml。

空间是不会自动回收的,每个记录都占了一个位置。即使删除了数据,位置也会空在那里,下次插入记录的时候,会优先选这些空的槽位。SQL Server所有的表都是在数据库的文件里,只有收缩文件才可以缩小空间。通过 DBCC CLEANTABLE 语句

  • 半同步:应用发起的更新在主实例执行完成后,会将日志同步传输到备实例,备实例收到日志,表示事务完成提交,不需要等待备实例执行日志内容。当备实例不可用或者主备实例间出现网络异常时,半同步会退化为异步。
  • IOPS:Input/Output Operations Per Second,以4 KB为单位,每秒进行块设备读写操作的次数。
  • Page: SQL Server 中数据存储的基本单位是页。为数据库中的数据文件(.mdf 或 .ndf)分配的磁盘空间可以从逻辑上划分成页(从 0 到 n连续编号)。磁盘 I/O 操作在页级执行。
  • DAS的使用
  • SLS中RDS审计中心的使用

三.索引建立

1.RDS中CloudDBA中的索引缺失诊断。

2.通过脚本进行查询

3.对慢sql进行实验

四.脚本及规范汇总

脚本

规范

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值