Rate This Document
Findability
Accuracy
Completeness
Readability

Feature List

Feature

Feature Description

Constraint

Performance Metric

Software Package

Supported on VMs

Remarks

NVMe SSD Atomic Write

The SSD atomic write feature eliminates the doublewrite redundancy to improve database performance.

  • Supported OSs: CentOS 7.6, openEuler 20.03, openEuler 22.03, and other OSs compatible with the ES3000 driver
  • Supported software versions: all MySQL versions

The performance is expected to improve by 15% in write-intensive scenarios.

-

No

This feature depends on the SSD hardware feature and is not suitable for virtualization.

Gazelle Network Optimization

This feature introduces the shadow FD mechanism and cross-thread asynchronous communication mechanism. It accelerates the network protocol stack to improve application performance.

  • Supported OSs: openEuler 20.03 and openEuler 22.03
  • Supported software versions: all MySQL versions

The TPC-C comprehensive performance is expected to improve by 10%.

-

Yes

This software feature can be used on both VMs and physical machines. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

MySQL Lock-Free Tuning

In MySQL OLTP applications, a large number of DML statements (INSERT, UPDATE, and DELETE) are concurrently executed on key data structures in the trx_sys global structure, causing resource contention and synchronization bottlenecks in the critical region.

The lock-free hash table is used to maintain transaction units to reduce lock conflicts and improve concurrency.

  • Supported OSs: CentOS 7.6 and openEuler 20.03
  • Supported software version: MySQL 8.0.20

The sysbench write performance is improved by 20%.

MySQL lock-free tuning patch

Yes

Though this software feature can be used on both VMs and physical machines, it is mainly designed to alleviate lock contention when many DML statements are concurrently executed in OLTP scenarios. This rarely happens on VMs. Therefore, the actual performance improvement result is subject to the VM specifications.

MySQL Fine-Grained Lock Tuning

In MySQL OLTP applications, a large number of DML statements (INSERT, UPDATE, and DELETE) are concurrently executed on the key data structures protected by the lock_sys->mutex global lock, causing severe lock contention and performance deterioration.

A fine-grained hash bucket lock is used to reduce lock conflicts and improve concurrency.

  • Supported OSs: CentOS 7.6 and openEuler 20.03
  • Supported software version: MySQL 8.0.20

The TPC-C comprehensive performance is expected to improve by 10%.

MySQL fine-grained lock tuning patch

Yes

Though this software feature can be used on both VMs and physical machines, it is mainly designed to alleviate lock contention when many DML statements are concurrently executed in OLTP scenarios. This rarely happens on VMs. Therefore, the actual performance improvement result is subject to the VM specifications.

MySQL Parallel Query Tuning

Only one thread can be scheduled for a single SQL query in the MySQL database, and the multi-core CPU cannot be used. The performance of a single query is poor and cannot meet the performance requirements in query scenarios. Parallel query is used to improve the query performance.

  • Supported OSs: CentOS 7.6 and openEuler 20.03
  • Supported software versions: MySQL 8.0.20 and MySQL 8.0.25

The query performance is more than doubled. (The performance improvement result is related to the degree of parallelism.)

MySQL 8.0.20 parallel query tuning patch

MySQL 8.0.25 parallel query tuning patch

Yes

This software feature can be used on both VMs and physical machines. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

MySQL NUMA Scheduling Tuning

In high-concurrency MySQL OLTP applications, the default thread scheduling of the system causes frequent cross-NUMA access of threads. In this case, the CPU overhead increases and the performance deteriorates. Therefore, the foreground threads need to be dynamically bound to fixed NUMA CPUs to reduce cross-NUMA access and ensure that the CPU access load is balanced. Background threads need to be statically bound to fixed NUMA CPUs to reduce cross-NUMA access and improve background thread efficiency.

  • Supported OSs: CentOS 7.6 and openEuler 20.03
  • Supported software versions: MySQL 8.0.20 and MySQL 8.0.25

The performance is improved by 10% in OLTP scenarios.

MySQL 8.0.20 NUMA scheduling tuning patch

MySQL 8.0.25 NUMA scheduling tuning patch

Yes

This software feature can be used on both VMs and physical machines. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

MySQL Pluggable Thread Pool

In high-concurrency MySQL OLTP applications, there are many threads, and the CPU is consumed by resource contention and frequent switchovers. By enabling the thread pool, all tasks are queued for execution based on the system execution capability. The number of tasks processed by each CPU at a time is limited (2 to 5 for the best), which is to ensure stable service processing capabilities.

  • Supported OSs: CentOS 7.6 and openEuler 20.03
  • Supported software versions: MySQL 5.7.27, 8.0.20, 8.0.25, 8.0.30, and 8.0.35. Only the patch based on MySQL 8.0.25, 8.0.30, and 8.0.35 is pluggable and can be dynamically loaded.

In the OLTP TPC-C scenario, before enabling the thread pool, the MySQL performance of running 10,000 concurrent tasks is only about 10% of the optimal. After the thread pool is enabled, the performance is maintained at 85%.

MySQL 5.7.27 thread pool patch

MySQL 8.0.20 thread pool patch

MySQL 8.0.25 thread pool patch

Yes

This software feature can be used on both VMs and physical machines. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

CRC32 Instruction Optimization

Kunpeng CRC32 hardware instructions are used to replace the software implementation of the CRC32 algorithm, thereby improving system performance.

  • Supported OSs: openEuler 20.03 and openEuler 22.03
  • Supported software version: MySQL 8.0.25

The sysbench write performance is expected to improve by 5%.

CRC32 instruction optimization patch

Yes

This feature can be used on VMs. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

Kunpeng GCC CFGO

This feature provides continuous optimization for multi-modal objects (source code, assembly code, and binary) in more lifecycle phases (compile time, link time, and post-link time), to generate target programs with better performance.

  • Supported OS: openEuler 22.03
  • Supported software versions: all MySQL versions

This feature can improve the overall database performance in TPC-C tests by 10% on servers and that in sysbench tests by 30% (based on optimal results) in VMs (8 vCPUs, 32 GB memory specifications).

-

Yes

This software feature can be used on both VMs and physical machines. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

MySQL Pluggable Online Vectorized Analysis Engine

This feature adopts a parallel processing mechanism. Each operator contains multiple worker threads, which significantly shortens the execution time of SQL statements. The columnstore structure improves data processing efficiency, and a secondary execution engine is provided as a plugin which is pluggable and can be dynamically loaded.

  • Supported OSs: openEuler 20.03 and openEuler 22.03
  • Supported software version: MySQL 8.0.25

The OLAP query performance is improved by more than three times.

KOVAE installation package

Yes

This software feature can be used on both VMs and physical machines. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

KAEzip Compression and Decompression Optimization

This feature uses the Kunpeng hardware acceleration module to implement compression and decompression algorithms and works with a lossless userspace driver framework to improve query performance.

  • Supported OSs: openEuler 20.03 for KAE 1.0

    openEuler 22.03 for KAE 2.0

  • Supported software versions: Greenplum versions that support compression and decompression using zlib

The OLAP query performance can be improved by 10% in heavy I/O scenarios where only one request is processed at a time.

Yes

This feature can be used on VMs. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

MySQL KAEzstd Page Compression and Decompression Optimization

The feature uses the Kunpeng hardware acceleration module to accelerate the zstd-related compression and decompression algorithm, improving the performance of transparent page compression.

  • Supported OS: openEuler 22.03
  • Supported software version: MySQL 8.0.25

Around half of the drive space can be saved; the TPS in sysbench tests drops by no more than 15% in 8 vCPUs, 32 GB memory specifications.

Patch package:

MySQL KAEZstd page compression and decompression optimization patch

KAE package:

KAE 2.0

Yes

This feature can be used on VMs. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

Milvus Vector Instruction and Prefetch Optimization

This feature applies vector instructions and prefetch operations to improve the similarity query performance.

  • Supported OSs:

    openEuler 22.03 LTS SP3

    openEuler 22.03 LTS SP4

  • Supported software version:

    Milvus 2.4.5

When the recall rate of the HNSW algorithm reaches 0.99 and that of the ScaNN algorithm reaches 0.95, the QPS performance on the GIST dataset can be improved by 20%.

Patch package:

Milvus vector instruction and prefetch optimization

Yes

This feature can be used on VMs. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

Milvus KBest Algorithm Optimization

The KBest algorithm in the Kunpeng recall algorithm library is supported to improve the query efficiency of graph algorithms.

  • Supported OS: openEuler 22.03 LTS SP3

    openEuler 22.03 LTS SP4

  • Supported software versions:

    Milvus 2.4.5

    Kunpeng Recall Algorithm Library 1.2.0

When the recall rate of the KBest algorithms is higher than 0.99, the QPS performance is 30% higher than that of the HNSW algorithm.

Patch packages:

0001-milvus-add-kbest-kscann.patch

0001-knowhere-add-kbest-kscann.patch

Yes

This feature can be used on VMs. This software feature can be used on both VMs and physical machines. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

Milvus KScaNN Algorithm Optimization

The KScaNN algorithm in the Kunpeng recall algorithm library is supported to improve the query efficiency of vector retrieval algorithms.

  • Supported OS: openEuler 22.03 LTS SP3

    openEuler 22.03 LTS SP4

  • Supported software versions:

    Milvus 2.4.5

    Kunpeng Recall Algorithm Library 1.2.0

When the recall rate of the KScaNN algorithms is higher than 0.95, the QPS performance is 30% higher than that of the ScaNN algorithm.

Patch packages:

0001-milvus-add-kbest-kscann.patch

0001-knowhere-add-kbest-kscann.patch

Yes

This feature can be used on VMs. This software feature can be used on both VMs and physical machines. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

Network Multipathing and Domain-based Scheduling Optimization

This feature identifies the traffic characteristics of specific service processes and implements the affinity between service process network requests and network interruptions.

  • Supported kernel: 5.10
  • Supported OS: openEuler 22.03 LTS SP4
  • Supported software versions:

    Redis 6.0.20 and 7.0.15

    MySQL 8.0.25

In the scenario where a MySQL container occupies half of the resources of a machine (8 vCPUs and 32 GB memory), the overall (optimal) Sysbench performance shows a 10% improvement. For a Redis container using 2 vCPUs and 10 GB memory, the comprehensive performance of redis-benchmark is improved by 80% in the IPVLAN+bond4 networking.

Network multipathing affinity kernel

No

This feature depends on the NIC driver interface, which is not supported by virtual NICs.

Redis Network Asynchronization

This feature enhances performance by offloading network I/O operations to KBAIO for asynchronous batch processing. This reduces system calls and context switching, enabling non-blocking Redis operations.

  • Supported OS: openEuler 22.03 LTS SP4
  • Supported software versions:

    Redis 6.0.20 and 7.0.15

In the Docker+bond4+IPVLAN networking with 2 vCPUs and 10 GB memory, the redis-benchmark performance is 20% higher than that of the open source Redis.

Yes

This feature can be used on VMs. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

MySQL Computing Path Optimization

Record matching optimization, SIMD-based character set processing optimization, and migration of unaligned memory access policies from x86 to the Arm architecture are used to improve the query, comparison, and calculation efficiency.

  • Supported OS: openEuler 22.03 LTS SP4
  • Supported software versions:

    Percona-Server 5.7.44-53 and Percona-Server 8.0.43-34

Sysbench read-only tests show that the performance of Percona-Server 5.7.44-53 running on a container with 8 vCPU and 16 GB memory can be improved by about 10%.

Yes

This feature can be used on VMs. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.

MySQL Binlog Optimization

The binlog pre-allocation, lock splitting, and writeset_history data structure optimization are used to improve system performance.

  • Supported OS: openEuler 22.03 LTS SP4
  • Supported software versions:

    Percona-Server 5.7.44-53 and Percona-Server 8.0.43-34

Sysbench write-only tests show that the feature can improve the performance of Percona-Server 5.7.44-53 running on a container with 8 vCPU and 16 GB memory by 13%.

Yes

This feature can be used on VMs. The performance metrics are related to the test environment specifications so that the actual performance improvement result is subject to the VM specifications.