Rate This Document
Findability
Accuracy
Completeness
Readability

NVMe SSD Atomic Write

Application scenario: MySQL

The block sizes of MySQL InnoDB, the file system, and a conventional drive are 16 KB, 4 KB, and 512 bytes respectively. Atomicity needs to be ensured for 16 KB write. However, page breaks cannot be restored for online logs. With doublewrite, MySQL writes a copy to the shared tablespace and then writes the data file. Complete 16 KB space is used for data restoration. In this mechanism, I/Os are doubled, affecting the performance.

Technical principle: The Kunpeng SSD atomic write hardware feature eliminates the redundancy of the MySQL doublewrite software implementation, reducing I/O write operations and removing doublewrite memory management overhead.

Figure 1 Principle of the NVMe SSD atomic write feature

Expected results

  • After the atomic write feature is enabled, the system performance is stable and slightly improved when the number of concurrent requests exceeds 64. If the atomic write feature is disabled, the system performance deteriorates significantly when the number of concurrent requests exceeds 64.
  • SSD service life is improved by 20%.

Feature effects

  • When the TPC-C model is used, the system performance is significantly improved when the number of concurrent requests exceeds 32, and the write performance is improved by more than 15% when the number of concurrent requests exceeds 64.
  • Doublewrite is eliminated and the SSD service life is expected to increase by 20%.

The feature verification is based on the following environment.

Hardware Configuration

CPU

Memory

Data Drive

OS

NIC

Data Volume

Database Size

Kunpeng server

2 x Huawei Kunpeng 920 5250 processors

12 x 32 GB

Huawei-developed SSD

1 x 1.6 TB ES3000 V5

CentOS 7.6, openEuler 20.03, or openEuler 22.03

10GE

8 x 500 million rows

32 GB