Benchmarking The Performance Cost To Full Disk Encryption For Modern AMD Ryzen Laptops

Written by Michael Larabel in Software on 25 October 2023 at 01:39 PM EDT. Page 2 of 3. 30 Comments.
Flexible IO Tester benchmark with settings of Type: Random Read, Engine: IO_uring, Buffered: No, Direct: Yes, Block Size: 4KB, Job Count: 8, Disk Target: Default Test Directory. No Encryption was the fastest.

Obviously if firing up FIO and performing some direct I/O benchmarks it's easy to see a difference... 4K random reads with full disk encryption were at around 83% the IOPS of Fedora Workstation on the same hardware without using any disk encryption.

Flexible IO Tester benchmark with settings of Type: Random Read, Engine: IO_uring, Buffered: No, Direct: Yes, Block Size: 4KB, Job Count: 8, Disk Target: Default Test Directory. No Encryption was the fastest.

For those curious, there was no measurable power difference at all when making use of the full disk encryption and using FIO benchmarking.

Flexible IO Tester benchmark with settings of Type: Random Write, Engine: IO_uring, Buffered: No, Direct: Yes, Block Size: 4KB, Job Count: 8, Disk Target: Default Test Directory. FDE was the fastest.

For 4K random writes with IO_uring there wasn't any measurable performance difference.

Flexible IO Tester benchmark with settings of Type: Sequential Read, Engine: IO_uring, Buffered: No, Direct: Yes, Block Size: 4KB, Job Count: 8, Disk Target: Default Test Directory. No Encryption was the fastest.
Flexible IO Tester benchmark with settings of Type: Sequential Read, Engine: IO_uring, Buffered: No, Direct: Yes, Block Size: 2MB, Job Count: 8, Disk Target: Default Test Directory. FDE was the fastest.

For sequential reads with FIO there was a noticeable penalty with a 4KB block size but for 2MB there wasn't a significant difference.

SQLite benchmark with settings of Threads / Copies: 1. No Encryption was the fastest.
SQLite benchmark with settings of Threads / Copies: 2. No Encryption was the fastest.
SQLite benchmark with settings of Threads / Copies: 4. No Encryption was the fastest.

Moving beyond the FIO synthetic I/O benchmarks with the SQLite embedded database library that's widely used in the desktop world the performance difference of this write-focused SQLite benchmark was minimally impacted.

SQLite Speedtest benchmark with settings of Timed Time, Size 1,000. FDE was the fastest.

The SQLite Speedtest benchmark also showed no difference in performance.


Related Articles