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.
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 |