RDS Custom高性能云盘概述

本文为您介绍高性能云盘的概念和性能,为您选择高性能云盘提供参考信息。

功能简介

高性能云盘是云数据库RDS Custom实例支持的一种新存储类型。在兼容ESSD云盘所有特性的基础上,高性能云盘新增了IO性能突发和16K原子写功能,为用户提供更高效、灵活的存储解决方案。

IO性能突发

  • 开启方式:默认开启,无需额外配置。IO性能突发功能已内置到高性能云盘中。

  • 费用:免费。

  • 最大IOPS:IO突发功能使云盘的IOPS不受限于最大IOPS,可在峰值时突破基准限制,最高可达100IOPS。

  • 优势:

    • 在业务高峰提供更高的IO能力,满足突发业务需求。

    • 支持内存IO Burst特性,可在特定场景下动态分配额外的资源(如IO带宽或内存),有效应对短期高负载需求。

16K原子写

  • 开启方式附录:开启16K原子写

  • 费用:免费。

  • 核心技术:关闭双写(double write)机制,通过校验和(Checksum)与日志回滚机制确保每次数据页写入的原子性,从而安全地简化写入流程。

  • 性能提升:

    • 降低I/O写入量:通过优化刷脏过程,显著减少实例写盘的IOPS和带宽需求。

    • QPS提升40%以上:大幅度提高实例的查询性能,满足高并发场景下的业务需求。测试详情请参见写优化性能测试

高性能云盘的性能

高性能云盘存储空间规格(单位GB)

基准性能

(与ESSD PL1云盘性能一致)

100 GB <= 存储空间 < 1000

IO带宽:125~350 MB/s

IOPS:6800~50000

1000 GB <= 存储空间 < 2000 GB

IO带宽:350 MB/s

IOPS:50000

2000 GB <= 存储空间 < 4000 GB

IO带宽:350 MB/s

IOPS:50000

4000 GB <= 存储空间 < 16000 GB

IO带宽:350 MB/s

IOPS:50000

16000 GB <= 存储空间 < 64000 GB

IO带宽:350 MB/s

IOPS:50000

附录:开启16K原子写

开启16K原子写功能,需要执行以下操作:

  1. 执行以下命令,格式化磁盘。

    重要

    此操作将清除磁盘所有数据,执行前请确认已备份重要内容。

    mkfs.ext4 -m 0 -C 16K -O extent,uninit_bg,bigalloc -E lazy_itable_init=1 /dev/vdb
    • -m 0:禁用文件系统预留空间(默认保留5%)。

    • -C 16K:设置存储(block)大小为16 KB。

    • -O extent,uninit_bg,bigalloc:启用ext4特性:

      • extent:改进大文件存储性能。

      • uninit_bg:加速文件系统检查。

      • bigalloc:优化大文件分配效率。

    • -E lazy_itable_init=1:延迟初始化inode表,加快格式化速度。

  2. 执行以下命令,进行操作系统调整,将所有存储的max_sectors_kb参数调整为64(即64×512 B=32 KB)。

    for file in /sys/block/*
    do
     echo "before: $file/queue/max_sectors_kb = `cat $file/queue/max_sectors_kb`"
     echo 64 > $file/queue/max_sectors_kb
     echo "after: $file/queue/max_sectors_kb = `cat $file/queue/max_sectors_kb`"
    done

    max_sectors_kb:定义单个IO请求允许的最大数据量。

  3. 内核参数调整,在MySQL配置文件my.cnf中添加以下参数。

    innodb_use_native_aio = ON
    innodb_doublewrite = OFF

相关文档

RDS Custom简介