IOZone Performance data

Asked by Ravi

We ran iozone performance data on an embedded device with encryption enabled and disabled with eCryptFS of course. Wanted to make sure the numbers we got are correct with you, as we could not believe the numbers. iozone command used is "iozone -R -i0 -i1 -i2 -s 100m -f /home/ecryptfsDecrypted/f1 -e > test.txt". We used the default configuration for ecryptfs mounting.

Average write speed with encryption is roughly about 30 Kbps whereas, without encryption it is about 7200 kbps. But the read speed is comparable. Average read speed with encryption is roughly about 500000 kbps with encryption and 490000 kbps in without encryption case. (NOTE, device on the test has less write speed)

We like the features provided by eCryptFs, so, we are planning to play around with the BLOCK size and encryption algorithms to see any improvements. In the meantime, if you have any suggestion, that would help us.

Also, in this forum we noticed that write is implemented in synchronous way, where as read is cached. Is there any fix done for that?


Question information

English Edit question
eCryptfs Edit question
No assignee Edit question
Solved by:
Tyler Hicks
Last query:
Last reply:
Revision history for this message
Best Tyler Hicks (tyhicks) said :

Hey Ravi - I'm assuming that you're talking about tweaking the eCryptfs extent size (ECRYPTFS_DEFAULT_EXTENT_SIZE). This could produce better performance, depending on the way your application writes data out. ECRYPTFS_DEFAULT_EXTENT_SIZE has always been 4096, so simply changing the #define might result in some bugs where the code assumes an extent size of 4096.

The writeback cache patch is currently being worked on. After doing some testing, we've hit some locking issues that are being worked through.

There's also talk about moving to the ablkcipher routines, similar to what dm-crypt did a while back.

Revision history for this message
Ravi (rsengott) said :

Thanks Tyler Hicks, that solved my question.