本文为您介绍高性能云盘的概念和性能,为您选择高性能云盘提供参考信息。
功能简介
高性能云盘是云数据库RDS Custom实例支持的一种新存储类型。在兼容ESSD云盘所有特性的基础上,高性能云盘新增了IO性能突发和16K原子写功能,为用户提供更高效、灵活的存储解决方案。
IO性能突发
开启方式:默认开启,无需额外配置。IO性能突发功能已内置到高性能云盘中。
费用:免费。
最大IOPS:IO突发功能使云盘的IOPS不受限于最大IOPS,可在峰值时突破基准限制,最高可达100万IOPS。
优势:
在业务高峰提供更高的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原子写功能,需要执行以下操作:
执行以下命令,格式化磁盘。
重要此操作将清除磁盘所有数据,执行前请确认已备份重要内容。
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表,加快格式化速度。
执行以下命令,进行操作系统调整,将所有存储的
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请求允许的最大数据量。内核参数调整,在MySQL配置文件
my.cnf
中添加以下参数。innodb_use_native_aio = ON innodb_doublewrite = OFF