EXT4 Encryption Linux 4.18 Git Tests for a future article on Phoronix. No Encryption: Processor: 2 x Intel Xeon Gold 6138 @ 3.70GHz (40 Cores / 80 Threads), Motherboard: TYAN S7106 (V1.00 BIOS), Chipset: Intel Sky Lake-E DMI3 Registers, Memory: 12 x 8192 MB DDR4-2666MT/s Micron 9ASF1G72PZ-2G6B1, Disk: 256GB Samsung SSD 850 + 2000GB Seagate ST2000DM006-2DM1 + 2 x 120GB TOSHIBA-TR150, Graphics: ASPEED ASPEED Family, Monitor: VE228, Network: Intel I210 Gigabit Connection OS: Ubuntu 18.04, Kernel: 4.17.0-999-generic (x86_64) 20180614, Desktop: GNOME Shell 3.28.1, Compiler: GCC 7.3.0, File-System: ext4, Screen Resolution: 1920x1080 EXT4 fscrypt: Processor: 2 x Intel Xeon Gold 6138 @ 3.70GHz (40 Cores / 80 Threads), Motherboard: TYAN S7106 (V1.00 BIOS), Chipset: Intel Sky Lake-E DMI3 Registers, Memory: 12 x 8192 MB DDR4-2666MT/s Micron 9ASF1G72PZ-2G6B1, Disk: 256GB Samsung SSD 850 + 2000GB Seagate ST2000DM006-2DM1 + 2 x 120GB TOSHIBA-TR150, Graphics: ASPEED ASPEED Family, Monitor: VE228, Network: Intel I210 Gigabit Connection OS: Ubuntu 18.04, Kernel: 4.17.0-999-generic (x86_64) 20180614, Desktop: GNOME Shell 3.28.1, Compiler: GCC 7.3.0, File-System: ext4, Screen Resolution: 1920x1080 eCryptfs: Processor: 2 x Intel Xeon Gold 6138 @ 3.70GHz (40 Cores / 80 Threads), Motherboard: TYAN S7106 (V1.00 BIOS), Chipset: Intel Sky Lake-E DMI3 Registers, Memory: 12 x 8192 MB DDR4-2666MT/s Micron 9ASF1G72PZ-2G6B1, Disk: 256GB Samsung SSD 850 + 2000GB Seagate ST2000DM006-2DM1 + 2 x 120GB TOSHIBA-TR150, Graphics: ASPEED ASPEED Family, Monitor: VE228, Network: Intel I210 Gigabit Connection OS: Ubuntu 18.04, Kernel: 4.17.0-999-generic (x86_64) 20180614, Desktop: GNOME Shell 3.28.1, Compiler: GCC 7.3.0, File-System: ext4 (ecryptfs), Screen Resolution: 1920x1080 LUKS dm-crypt: Processor: 2 x Intel Xeon Gold 6138 @ 3.70GHz (40 Cores / 80 Threads), Motherboard: TYAN S7106 (V1.00 BIOS), Chipset: Intel Sky Lake-E DMI3 Registers, Memory: 12 x 8192 MB DDR4-2666MT/s Micron 9ASF1G72PZ-2G6B1, Disk: 256GB Samsung SSD 850 + 2000GB Seagate ST2000DM006-2DM1 + 2 x 120GB TOSHIBA-TR150, Graphics: ASPEED ASPEED Family, Monitor: VE228, Network: Intel I210 Gigabit Connection OS: Ubuntu 18.04, Kernel: 4.17.0-999-generic (x86_64) 20180614, Desktop: GNOME Shell 3.28.1, Compiler: GCC 7.3.0, File-System: ext4, Screen Resolution: 1920x1080 PostgreSQL pgbench 10.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write TPS > Higher Is Better No Encryption . 2382.99 |====================================================== EXT4 fscrypt .. 2184.25 |================================================= eCryptfs ...... 1832.18 |========================================== LUKS dm-crypt . 2321.62 |===================================================== PostgreSQL pgbench 10.3 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 2.8 MAX: 21.3 EXT4 fscrypt .. MIN: 0.0 AVG: 3.1 MAX: 18.4 eCryptfs ...... MIN: 0.0 AVG: 2.4 MAX: 20.4 LUKS dm-crypt . MIN: 0.0 AVG: 3.3 MAX: 18.5 PostgreSQL pgbench 10.3 CPU Usage (Summary) Monitor Percent < Lower Is Better EXT4 fscrypt . MIN: 0.0 AVG: 1.6 MAX: 3.8 SQLite 3.22 Timed SQLite Insertions Seconds < Lower Is Better No Encryption . 40.90 |================================================== EXT4 fscrypt .. 46.07 |======================================================== eCryptfs ...... 42.71 |==================================================== LUKS dm-crypt . 45.50 |======================================================= SQLite 3.22 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.4 MAX: 1.3 EXT4 fscrypt .. MIN: 0.0 AVG: 0.5 MAX: 1.3 eCryptfs ...... MIN: 0.0 AVG: 0.5 MAX: 1.3 LUKS dm-crypt . MIN: 0.0 AVG: 0.5 MAX: 1.3 FS-Mark 3.3 Test: 1000 Files, 1MB Size Files/s > Higher Is Better No Encryption . 74.10 |======================================================== EXT4 fscrypt .. 62.87 |================================================ eCryptfs ...... 50.33 |====================================== LUKS dm-crypt . 60.50 |============================================== FS-Mark 3.3 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.8 MAX: 1.3 EXT4 fscrypt .. MIN: 0.0 AVG: 0.8 MAX: 1.3 eCryptfs ...... MIN: 0.0 AVG: 0.9 MAX: 1.3 LUKS dm-crypt . MIN: 0.0 AVG: 0.9 MAX: 1.3 FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads Files/s > Higher Is Better No Encryption . 50.93 |======================================================== EXT4 fscrypt .. 47.73 |==================================================== eCryptfs ...... 48.13 |===================================================== LUKS dm-crypt . 49.33 |====================================================== FS-Mark 3.3 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 1.3 MAX: 2.4 EXT4 fscrypt .. MIN: 0.0 AVG: 1.4 MAX: 5.0 eCryptfs ...... MIN: 0.0 AVG: 1.7 MAX: 5.0 LUKS dm-crypt . MIN: 0.0 AVG: 1.5 MAX: 5.0 FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Files/s > Higher Is Better No Encryption . 44.60 |======================================================== EXT4 fscrypt .. 38.70 |================================================= eCryptfs ...... 36.30 |============================================== LUKS dm-crypt . 40.67 |=================================================== FS-Mark 3.3 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.9 MAX: 1.5 EXT4 fscrypt .. MIN: 0.0 AVG: 1.0 MAX: 1.3 eCryptfs ...... MIN: 0.0 AVG: 1.0 MAX: 1.3 LUKS dm-crypt . MIN: 0.0 AVG: 1.2 MAX: 1.4 Compile Bench 0.6 Test: Initial Create MB/s > Higher Is Better No Encryption . 505.65 |======================================================= EXT4 fscrypt .. 355.03 |====================================== eCryptfs ...... 201.47 |====================== LUKS dm-crypt . 509.85 |======================================================= Compile Bench 0.6 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.9 MAX: 2.5 EXT4 fscrypt .. MIN: 0.0 AVG: 1.0 MAX: 2.5 eCryptfs ...... MIN: 0.0 AVG: 1.0 MAX: 2.5 LUKS dm-crypt . MIN: 0.0 AVG: 2.7 MAX: 8.3 Timed GCC Compilation 7.2 Time To Compile Seconds < Lower Is Better No Encryption . 852.35 |============================================= EXT4 fscrypt .. 1029.01 |====================================================== eCryptfs ...... 964.24 |=================================================== LUKS dm-crypt . 854.03 |============================================= Timed GCC Compilation 7.2 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0 AVG: 13 MAX: 100 EXT4 fscrypt .. MIN: 0 AVG: 19 MAX: 100 eCryptfs ...... MIN: 0 AVG: 15 MAX: 100 LUKS dm-crypt . MIN: 0 AVG: 13 MAX: 100 NGINX Benchmark 1.9.9 Static Web Page Serving Requests Per Second > Higher Is Better No Encryption . 29708.93 |===================================================== EXT4 fscrypt .. 29783.06 |===================================================== eCryptfs ...... 25722.02 |============================================== LUKS dm-crypt . 29831.02 |===================================================== NGINX Benchmark 1.9.9 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 2.3 MAX: 3.6 EXT4 fscrypt .. MIN: 0.0 AVG: 2.2 MAX: 2.6 eCryptfs ...... MIN: 0.0 AVG: 2.2 MAX: 2.6 LUKS dm-crypt . MIN: 0.0 AVG: 2.3 MAX: 2.8 Flexible IO Tester 3.1 Type: Random Read - IO Engine: POSIX AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better No Encryption . 31.23 |======================================================== EXT4 fscrypt .. 26.70 |================================================ LUKS dm-crypt . 21.53 |======================================= Flexible IO Tester 3.1 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.5 MAX: 6.7 EXT4 fscrypt .. MIN: 0.0 AVG: 0.5 MAX: 6.3 eCryptfs ...... MIN: 0.0 AVG: 0.7 MAX: 6.2 LUKS dm-crypt . MIN: 0.0 AVG: 1.4 MAX: 6.1 Flexible IO Tester 3.1 Type: Random Read - IO Engine: POSIX AIO - Buffered: No - Direct: Yes - Block Size: 4MB - Disk Target: Default Test Directory MB/s > Higher Is Better No Encryption . 507 |======= EXT4 fscrypt .. 4283 |========================================================= LUKS dm-crypt . 310 |==== Flexible IO Tester 3.1 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.1 MAX: 0.5 EXT4 fscrypt .. MIN: 0.0 AVG: 1.0 MAX: 1.5 eCryptfs ...... MIN: 0.0 AVG: 0.8 MAX: 6.3 LUKS dm-crypt . MIN: 0.0 AVG: 1.4 MAX: 1.9 Flexible IO Tester 3.1 Type: Random Write - IO Engine: POSIX AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better No Encryption . 108.00 |======================================================= EXT4 fscrypt .. 94.70 |================================================ LUKS dm-crypt . 57.57 |============================= Flexible IO Tester 3.1 Type: Random Write - IO Engine: POSIX AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better No Encryption . 27700 |======================================================== EXT4 fscrypt .. 24300 |================================================= LUKS dm-crypt . 14733 |============================== Flexible IO Tester 3.1 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.7 MAX: 1.4 EXT4 fscrypt .. MIN: 0.0 AVG: 1.0 MAX: 2.5 eCryptfs ...... MIN: 0.0 AVG: 0.0 MAX: 0.1 LUKS dm-crypt . MIN: 0.0 AVG: 0.9 MAX: 2.4 Flexible IO Tester 3.1 Type: Random Write - IO Engine: POSIX AIO - Buffered: No - Direct: Yes - Block Size: 4MB - Disk Target: Default Test Directory MB/s > Higher Is Better No Encryption . 474 |========================================================== EXT4 fscrypt .. 330 |======================================== LUKS dm-crypt . 263 |================================ Flexible IO Tester 3.1 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.7 MAX: 1.5 EXT4 fscrypt .. MIN: 0.0 AVG: 1.1 MAX: 6.4 eCryptfs ...... MIN: 0.0 AVG: 0.1 MAX: 0.7 LUKS dm-crypt . MIN: 0.0 AVG: 1.0 MAX: 5.7 Flexible IO Tester 3.1 Type: Sequential Read - IO Engine: POSIX AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better No Encryption . 169.00 |====== EXT4 fscrypt .. 1532.00 |====================================================== LUKS dm-crypt . 86.30 |=== Flexible IO Tester 3.1 Type: Sequential Read - IO Engine: POSIX AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better No Encryption . 43400 |====== EXT4 fscrypt .. 392000 |======================================================= LUKS dm-crypt . 22100 |=== Flexible IO Tester 3.1 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.8 MAX: 1.4 EXT4 fscrypt .. MIN: 0.0 AVG: 1.6 MAX: 2.4 eCryptfs ...... MIN: 0.0 AVG: 0.6 MAX: 5.1 LUKS dm-crypt . MIN: 0.0 AVG: 1.1 MAX: 1.5 Flexible IO Tester 3.1 Type: Sequential Read - IO Engine: POSIX AIO - Buffered: No - Direct: Yes - Block Size: 4MB - Disk Target: Default Test Directory MB/s > Higher Is Better No Encryption . 506 |====== EXT4 fscrypt .. 4447 |========================================================= LUKS dm-crypt . 310 |==== Flexible IO Tester 3.1 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.1 MAX: 0.4 EXT4 fscrypt .. MIN: 0.0 AVG: 1.2 MAX: 6.0 eCryptfs ...... MIN: 0.0 AVG: 0.8 MAX: 6.4 LUKS dm-crypt . MIN: 0.0 AVG: 1.6 MAX: 5.8 Flexible IO Tester 3.1 Type: Sequential Write - IO Engine: POSIX AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better No Encryption . 116.00 |======================================================= EXT4 fscrypt .. 98.93 |=============================================== LUKS dm-crypt . 61.50 |============================= Flexible IO Tester 3.1 Type: Sequential Write - IO Engine: POSIX AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better No Encryption . 29667 |======================================================== EXT4 fscrypt .. 25400 |================================================ LUKS dm-crypt . 15767 |============================== Flexible IO Tester 3.1 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.7 MAX: 1.4 EXT4 fscrypt .. MIN: 0.0 AVG: 1.0 MAX: 5.0 eCryptfs ...... MIN: 0.0 AVG: 0.0 MAX: 0.2 LUKS dm-crypt . MIN: 0.0 AVG: 0.8 MAX: 4.0 Flexible IO Tester 3.1 Type: Sequential Write - IO Engine: POSIX AIO - Buffered: No - Direct: Yes - Block Size: 4MB - Disk Target: Default Test Directory MB/s > Higher Is Better No Encryption . 477 |========================================================== EXT4 fscrypt .. 332 |======================================== LUKS dm-crypt . 302 |===================================== Flexible IO Tester 3.1 CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 0.9 MAX: 6.3 EXT4 fscrypt .. MIN: 0.0 AVG: 1.0 MAX: 6.1 eCryptfs ...... MIN: 0.0 AVG: 0.0 MAX: 0.3 LUKS dm-crypt . MIN: 0.0 AVG: 0.9 MAX: 1.2 OSBench Test: Create Files us Per Event < Lower Is Better No Encryption . 15.60 |====================== EXT4 fscrypt .. 23.81 |================================== eCryptfs ...... 39.58 |======================================================== LUKS dm-crypt . 15.82 |====================== OSBench CPU Usage (Summary) Monitor Percent < Lower Is Better No Encryption . MIN: 0.0 AVG: 1.0 MAX: 1.4 EXT4 fscrypt .. MIN: 0.0 AVG: 1.2 MAX: 1.4 eCryptfs ...... MIN: 0.1 AVG: 1.0 MAX: 1.4 LUKS dm-crypt . MIN: 0.0 AVG: 1.2 MAX: 1.8 CPU Usage (Summary) Monitor Phoronix Test Suite System Monitoring Percent No Encryption . MIN: 0 AVG: 6 MAX: 100 EXT4 fscrypt .. MIN: 0 AVG: 9 MAX: 100 eCryptfs ...... MIN: 0 AVG: 7 MAX: 100 LUKS dm-crypt . MIN: 0 AVG: 6 MAX: 100