RDS如何从架构上缓减压力

RDS如何从架构上缓减压力

更新时间:2017-06-07 13:26:11

 

 

RDS作为应用后端的DB是可能出现性能上的瓶颈导致应用性能下降。在阿里云中可以通过以下方式缓解RDS性能上的瓶颈:

1. 通过同一数据中心的ECS内网与RDS通信

RDS相比于自建的数据库而言会有一层从应用端到数据库端的性能损耗,建议使用与RDS同一地域的ECS通过RDS的内网地址对数据库进行操作。

另外,在对RDS传输数据的时候尽量应用“insert into tab values values(...),(...),(....),(....),(....),(....),(....);”类似的批量写入数据的语法,减少网络传输的消耗。

 

2. RDS主实例增加只读实例减小读写压力

在RDS的很多应用场景中都存在读多写少的情况,在这种情况下建议可以对数据库进行读写分离操作,让主库仅完成写操作和部分对时间敏感的数据的读操作,而将读操作分配至盖主实例下面的各台只读实例上。但RDS上的只读实例提供了不同的域名和端口供用户调用,用户需要在应用层对读写操作进行分流。

 

3. DRDS对DB进行水平拆分和读写分离

单台的RDS的配置是有最高上限的,如果当业务量足够大至单台主实例最高配置无法承受的时候需要DRDS对数据库进行水平切分以避免单台RDS的性能瓶颈.另外,DRDS提供自定义的读策略分配,用户仅需要在DRDS的控制台上分配读策略就不需要对应用层代码进行更改,因为DRDS会根据自定义的读策略分配到对应的RDS库上。

 

4.ECS和RDS之间通过OCS或KVStore缓存热点数据

用户可以使用OCS或KVStore这类缓存产品对RDS上的热点数据进行缓存,如果所需数据在OCS或者KVStore已经缓存住即可直接读取其中的数据,既可以加快请求的响应速度也可以降低RDS的负载情况。

 

 

如果问题还未能解决,请联系售后技术支持