特性清单
特性 |
子特性 |
特性描述 |
约束 |
性能指标 |
是否支持在虚拟机使用 |
对虚拟机使用的支持情况说明 |
|---|---|---|---|---|---|---|
系统协同优化 |
通过SSD硬件原子写特性消除Doublewrite双写软件冗余提升数据库的性能。 |
|
密集写场景性能预计提升15%。 |
否 |
该特性依赖SSD硬件特性,因此不适用于虚拟机场景。 |
|
系统协同优化 |
采用多模态(源代码、汇编码、二进制)、全生命周期(编译、链接、后链接)的持续优化手段,获取性能更优的目标程序。 |
|
整机场景下,使数据库TPC-C综合性能提升10%;8U32G场景下,Sysbench综合性能(最优性能)提升30%。 |
是 |
支持在虚拟机场景使用,本身为纯软件特性,与是否虚拟机或物理机无关,但当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
系统协同优化 |
识别特定业务进程的流量特征,实现业务进程网络请求与网络中断的亲和性。 |
|
MySQL 8U32G容器跑满半整机场景下,Sysbench综合性能(最优性能)提升10%;Redis 2U10G容器,在ipvlan+bond4组网下,redis-benchmark综合性能提升80%。 |
否 |
该特性依赖网卡驱动接口,虚拟网卡不具备该接口。 |
|
系统协同优化 |
引入影子FD机制以及跨线程异步通信机制,通过加速网络协议栈以提升数据库性能。 |
|
TPC-C综合性能预计提升10%。 |
是 |
支持在虚拟机场景使用,本身为纯软件特性,与是否虚拟机或物理机无关,但当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
采用鲲鹏CRC32硬件指令来替换CRC32算法的软件实现,从而提高系统业务的性能。 |
|
对MySQL Sysbench写场景性能预计提升5%。对RocksDB 6.1.2性能预计提升5%。 |
是 |
该特性依赖CRC32硬件指令特性,因此不适用于虚拟机场景。 |
|
MySQL优化特性 |
将原有逐字段遍历匹配的方式优化为基于memcmp的整体记录比较,从而提升比较效率。 |
|
在Percona-Server 5.7.44-53版本8C16G容器规格中,Sysbench只读测试场景下的性能获得了约2%的提升。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
将utf8/utf8mb4字符集处理中关于ASCII字符的部分实施SIMD并行处理,以提高处理吞吐量。 |
|
在Percona-Server 5.7.44-53版本8C16G容器规格中,Sysbench只读测试场景下的性能获得了约10%的提升。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
鲲鹏920新型号处理器支持非对齐内存访问,将原本在x86架构上实现的非对齐内存访问优化策略迁移至ARM架构。 |
|
在Percona-Server 5.7.44-53版本8C16G容器规格中,Sysbench只读测试场景下的性能获得了约2%的提升。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
引入LSE硬件加速,来有效缓解高并发下的性能劣化问题,提升MySQL在鲲鹏服务器中的整体性能表现与系统稳定性。 |
|
在Percona-Server 5.7.44-53版本8C16G容器规格中,Sysbench 256并发综合性能提升5%。 |
是 |
该特性依赖LSE硬件加速,因此不适用于虚拟机场景。 |
|
MySQL优化特性 |
调用rec_get_offsets前获取行格式判断结果,并将其作为参数传递给新增的rec_get_offsets_with_comp函数,以减少rec_get_offsets内部的重复查询。 |
|
在Percona-Server 5.7.44-53版本8C16G容器规格中,Sysbench综合的性能获得了约2%的提升。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
在Binlog文件创建时将其大小预分配为max_binlog_size(最大文件大小),避免写入过程中因文件动态增长所引入的元数据操作,从而降低I/O开销并提高系统性能。 |
|
在Percona-Server 5.7.44-53版本8C16G容器规格中,在Sysbench的只写测试场景可获得2%的性能提升。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
通过锁拆分,让处于不同阶段的follower等待不同的锁,降低不同组之间误唤醒的可能,从而降低pthread_cond_wait/pthread_cond_broadcast函数的系统调用开销,减缓锁的冲突。 |
|
在Percona-Server 5.7.44-53版本8C16G容器规格中,在Sysbench的只写测试场景可获得5%的性能提升。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
将m_writeset_history变量使用的std::map替换为hash map数据结构,将插入和查找的时间复杂度降为O(1),以提高效率。 |
|
在Percona-Server 5.7.44-53版本8C16G容器规格中,在Sysbench的只写测试场景可获得5%的性能提升。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
通过session内复用已优化的同句型SQL的执行计划消减优化器的开销提升系统查询性能。 |
|
在Percona-Server 8.0.43-34版本8U16G容器规格中,在Sysbench的只读测试场景可获得10%的性能提升。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
采用并行处理机制,每个算子含有多个worker线程,显著缩短SQL语句的执行时间;利用列存储结构,数据处理更加高效;通过插件形式提供第二执行引擎,支持可插拔动态加载。 |
|
OLAP查询性能提升到3倍以上。 |
是 |
支持在虚拟机场景使用,本身为纯软件特性,与是否虚拟机或物理机无关,但当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
MySQL单SQL查询只能调度单线程,多核CPU无法使用,单查询性能查询差难以满足查询场景的性能要求,通过并行查询优化提升查询性能。 |
|
查询性能提升大于1倍(性能提升与并行度有关)。 |
是 |
支持在虚拟机场景使用,本身为纯软件特性,与是否虚拟机或物理机无关,但当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
MySQL OLTP场景下DML语句(Insert,Update,Delete)大量并发操作访问lock_sys->mutex全局锁保护的关键数据结构,造成锁竞争严重导致性能下降。替换成细粒度hash桶锁。减少锁冲突,提升并发度。 |
|
TPC-C综合性能预计提升10%。 |
是 |
支持在虚拟机场景使用,本身为纯软件特性,与是否虚拟机或物理机无关,但该特性是针对OLTP场景DML语句大量并发操作下锁竞争做的优化,但虚拟机不一定会出现该场景,因此性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
MySQL OLTP场景下DML语句(Insert,Update,Delete)大量并发操作trx_sys全局结构体中的关键数据结构,造成临界区的竞争和同步瓶颈。改造后使用无锁哈希表维护事务单元。减少锁冲突,提升并发度。 |
|
Sysbench写场景性能提升20%。 |
是 |
支持在虚拟机场景使用,本身为纯软件特性,与是否虚拟机或物理机无关,但该特性是针对OLTP场景DML语句大量并发操作下锁竞争做的优化,但虚拟机不一定会出现该场景,因此性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
针对MySQL高并发OLTP锁竞争热点,通过Lock-sys分片、表锁状态快速判断及Read View版本跟踪三项优化,降低锁互斥竞争、消除表锁队列无效遍历、提升Read View复用效率,在保持事务语义不变前提下显著提升性能。 |
|
Sysbench高并发写场景性能提升5%。 |
是 |
支持在虚拟机场景使用,本身为纯软件特性,与是否虚拟机或物理机无关,但当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
MySQL OLTP场景下高并发下系统默认的线程调度使得线程频繁跨NUMA的访问,这种情况导致CPU开销增大,性能提升受限制,需要对用户处理线程做动态绑定固定NUMA CPU减少跨NUMA访问,同时需要保证CPU访问的负载必须均衡,后台线程静态绑定固定NUMA CPU减少跨NUMA访问,提升后台线程效率。 |
|
OLTP场景性能提升10%。 |
是 |
支持在虚拟机场景使用,本身为纯软件特性,与是否虚拟机或物理机无关,但当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
MySQL OLTP场景下高并发下线程数过多,CPU消耗在无效的资源竞争和频繁切换上,线程池方案通过队列方式管理任务,所有的任务先放入等待执行队列,按系统执行能力取出任务队列让CPU执行,每个CPU同时处理任务个数是有限的,一般2~5个最优,从而保持稳定的业务处理能力。 |
|
OLTP TPC-C场景性能10000并发性能下降到最优的10%左右,开启线程池功能,性能可维持在85%。 |
是 |
支持在虚拟机场景使用,本身为纯软件特性,与是否虚拟机或物理机无关,但当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
MySQL优化特性 |
使用鲲鹏硬加速模块实现压缩、解压缩算法,结合无损用户态驱动框架从而提升查询性能。 |
可以将同一时间只处理一个请求、IO占比多的OLAP查询性能提升10%。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
||
MySQL优化特性 |
使用鲲鹏硬加速模块加速zstd相关压缩解压缩算法,提升在使用透明页压缩时的性能。 |
|
减少大约一半的磁盘占用空间,8U32G场景下,Sysbench TPS劣化程度不超过15%。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
Redis优化特性 |
通过将Redis中网络I/O操作交由KBAIO异步批量执行,减少系统调用和上下文交换,实现Redis业务无阻塞执行。 |
|
在2U10G规格,docker+bond4+ipvlan组网场景下,redis-benchmark压测较于Redis开源版本有20%以上提升。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
|
Redis优化特性 |
将Redis本地通信通过ebpf、共享内存等技术、消减TCP封包解包、数据拷贝的开销,提升Redis本地通信场景的性能 |
|
在2U10G规格,本地网络通信场景下,redis-benchmark压测性能提升5%~50% |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准 |
|
RocksDB优化特性 |
引入crc32的硬件实现和sve2的汇编实现。 |
|
16U规格下,YCSB的workloada和workloadc两种场景压测性能平均提升5%。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准 |
|
RocksDB优化特性 |
对布隆过滤器的准确率进行了提升,使其对热数据的判断会更加准确。 |
|
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准 |
||
RocksDB优化特性 |
调整openEuler操作系统内核的Page Size为64KB。 |
|
16U规格下,YCSB的workloada和workloadc两种场景压测性能平均提升5%。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准 |
|
RocksDB优化特性 |
通过将网卡队列中断按照一定策略绑定到不同NUMA节点的CPU上,同时通过识别特定业务进程的流量特征,将指定业务进程的网络流量优先由当前业务进程所在NUMA上的网卡队列进行接收,从而实现业务进程网络请求与网络中断的亲和性。 |
|
半整机每个numa分配两个实例,共8个实例,每个实例绑定16U,在YCSB的worklaoda和workloadc两种场景下,平均QPS提升5%,avg时延平均下降10%。 |
否 |
该特性依赖网卡驱动接口,虚拟网卡不具备该接口。 |
|
Milvus优化特性 |
添加对于鲲鹏召回算法库中KScaNN算法的支持,提升向量检索算法的高效查询。 |
KScaNN算法的召回率在0.95以上的情况下,QPS相较于ScaNN提升30%。 |
是 |
支持在虚拟机场景使用。本身为纯软件特性,与是否虚拟机或物理机无关,但当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
||
Milvus优化特性 |
添加对于鲲鹏召回算法库中KBest算法的支持,提升图类算法的高效查询。 |
KBest算法的召回率在0.99以上的情况下,QPS相较于HNSW提升30%。 |
是 |
支持在虚拟机场景使用。本身为纯软件特性,与是否虚拟机或物理机无关,但当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |
||
Milvus优化特性 |
使用向量指令和预取操作,提升在相似度查询上的性能。 |
HNSW算法召回率达到0.99、ScaNN算法召回率达到0.95的前提下,在Gist数据集上的QPS能提升20%。 |
是 |
支持在虚拟机场景使用。当前性能指标与测试环境规格相关,在虚拟化场景性能提升效果需要以具体所使用虚拟机规格测试为准。 |