NVMe SSD原子写

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: NVMe SSD原子写

MySQL场景

MySQL Innodb block块为16K,文件系统为4K,传统硬盘512字节,16K写入需要保证原子性,而在线日志无法恢复断页情况。MySQL通过Doublewrite双写先写一份到共享表空间,然后写入数据文件,恢复过程需要使用完整的16K恢复,但会带来IO两倍写入和性能影响。

技术原理:鲲鹏SSD原子写特性通过硬件特性来消除MySQL Doublewrite软件实现双写冗余机制,减少IO写操作和消除Doublewrite双写内存管理消耗从而达到性能提升。

预期效果:

开启原子写特性后,64以上并发性能稳定且略有上升;不开启原子写特性,64以上并发性能下降趋势明显。
SSD寿命提升20%。
如何使用:

SSD硬盘内置原子写特性driver,控制参数开启。
OS使用16K的EXT4文件系统并启用bigdata属性。
数据库关闭Doublewrite双写。
OS版本:CentOS 7.6和openEuler 20.03。
图1 自研SSD原子写特性实现原理图

特性价值:

TPCC模型 32以上并发优势明显,64并发以上写性能提升大于15%。
消除double write双写,SSD寿命预计提升20%。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 固态存储 关系型数据库
性能优化特性之:16K原子写
本文介绍了在倚天实例上进行内存优化的调优特性:16K原子写 的优化原理、使用方法。
|
存储 缓存 Java
仅花200行代码,如何将60万行的RocksDB改造成协程
采用少量手动修改+自动代码转换的方式,将大型多线程程序改造成协程。在某些重IO、高并发的场景中,帮助业务取得了性能翻倍的效果。
56682 3
仅花200行代码,如何将60万行的RocksDB改造成协程
|
监控 调度 开发工具
IO神器blktrace使用介绍
## 前言 1. blktrace的作者正是block io的maintainer,开发此工具,可以更好的追踪IO的过程。 2. blktrace 结合btt可以统计一个IO是在调度队列停留的时间长,还是在硬件上消耗的时间长,利用这个工具可以协助分析和优化问题。 ## blktrace的原理 一个I/O请求的处理过程,可以梳理为这样一张简单的图: ![](http://image
21346 0
|
存储 缓存 安全
从原理到实践:掌握DPDK内存池技术(下)
从原理到实践:掌握DPDK内存池技术
|
前端开发 虚拟化 内存技术
SPDK vhost target
SPDK vhost target
|
关系型数据库 Java MySQL
|
关系型数据库 MySQL PostgreSQL
性能优化特性之:code_hugepage - 代码大页
本文介绍了倚天实例上的内存优化特性:代码段大页,并从优化原理、使用方法、性能收益进行详细阐述。
|
存储 SQL Cloud Native
GalaxyEngine Overview
PolarDB-X 是由阿里巴巴自主研发的云原生分布式数据库,融合了分布式 SQL 引擎 GalaxySQL 和分布式存储引擎 GalaxyEngine,其中 GalaxyEngine 是新一代面向分布式场景的 MySQL 发行版本,作为官方 MySQL 版本的一个分支,除了吸收和跟进官方版本的持续改进以外,尤其在分布式场景下,实现了 Lizard 分布式事务和全局一致性解决方案、 Galaxy X-Protocol 交互协议 pipeline request、 X-Engine 存储引擎、 Galaxy X-Paxos Cluster 保证数据零丢失并持续可用,以及共享的 RDS MySQL
1483 0
GalaxyEngine Overview
|
SQL 关系型数据库 MySQL
MySQL in 太慢的 3 种优化方案
MySQL中的`eq_range_index_dive_limit`参数默认值为200,影响了IN查询的执行方式。当IN列表项少于这个值时,MySQL会使用扫描索引树(精确成本计算),而多于此值则使用索引统计(快速但可能不准)来分析查询成本。大量IN值可能导致性能下降。解决方案包括:1) 分批查询;2) 使用UNION ALL创建内存临时表;3) 创建实体表存储IN值并进行JOIN操作。注意,实体表需及时清理并避免反复插入删除导致性能下降。
3062 0

热门文章

最新文章