db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5503) Measure the performance degradation incurred by encrypting Derby databases
Date Wed, 16 Nov 2011 14:52:52 GMT

    [ https://issues.apache.org/jira/browse/DERBY-5503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13151245#comment-13151245
] 

Rick Hillegas commented on DERBY-5503:
--------------------------------------

I ran more experiments with the read-only and update clients, including experiments which
run unencrypted clients on an encrypted file system (a sparse encrypted folder system on Mac
OS X). Here were the averaged transactions/second which I saw:

NO ENCRYPTION READ ONLY: 18180
NO ENCRYPTION UPDATE: 913
 
DEFAULT ENCRYPTION READ ONLY: 5022 (-72%)
DEFAULT ENCRYPTION UPDATE: 877 (-4%)

AES 256 BIT ENCRYPTION READ ONLY: 9519 (-48%)
AES 256 BIT ENCRYPTION UPDATE: 810 (-11%)

AES 256 BIT ENCRYPTED FILE SYSTEM READ ONLY: 18319 (+1%)
AES 256 BIT ENCRYPTED FILE SYSTEM UPDATE: 21 (-98%)

There is around 10% variability in results per experiment per run on my machine. As you can
see, there's even more variability between results on my and Knut's machines.

The results on my encrypted file system are truly puzzling to me.

A little surfing turned up the following resources which help me wrap my mind around this
topic:

1) From 2003, an overview of issues in measuring the performance of encrypted file systems:
Cryptographic File Systems Performance: What You Don't Know Can Hurt You: http://www.filesystems.org/docs/nc-perf/index.html

2) Performance Analysis of Data Encryption Algorithms: http://www.cs.wustl.edu/~jain/cse567-06/ftp/encryption_perf/index.html
In particular, see Table 1 here: http://www.cs.wustl.edu/~jain/cse567-06/ftp/encryption_perf/index.html#3

Here are the details of my experiments:

---- NO ENCRYPTION READ ONLY ----
rm -rf db
java org.apache.derbyTesting.perf.clients.Runner \
    -driver org.apache.derby.jdbc.EmbeddedDriver \
    -url "jdbc:derby:db;create=true" \
    -init \
    -load sr_select \
    -threads 1 \ 

Results: 18241, 18045, 18181, 18253

---- NO ENCRYPTION UPDATE ----
rm -rf db
java org.apache.derbyTesting.perf.clients.Runner \
    -driver org.apache.derby.jdbc.EmbeddedDriver \
    -url "jdbc:derby:db;create=true" \
    -init \
    -load sr_update \
    -threads 1 \ 

Results: 946, 859, 980, 863

---- DEFAULT ENCRYPTION READ ONLY ----
rm -rf db
java org.apache.derbyTesting.perf.clients.Runner \
    -driver org.apache.derby.jdbc.EmbeddedDriver \
    -url "jdbc:derby:db;create=true;dataEncryption=true;encryptionKey=1234567890abcdef1234567890abcdef"
\
    -init \
    -load sr_select \
    -threads 1 \ 

Results: 5026, 5029, 5041, 4993

---- DEFAULT ENCRYPTION UPDATE ----
rm -rf db
java org.apache.derbyTesting.perf.clients.Runner \
    -driver org.apache.derby.jdbc.EmbeddedDriver \
    -url "jdbc:derby:db;create=true;dataEncryption=true;encryptionKey=1234567890abcdef1234567890abcdef"
\
    -init \
    -load sr_update \
    -threads 1 \ 

Results: 914, 829, 935, 831

---- AES 256 BIT ENCRYPTION READ ONLY ----
rm -rf db
java org.apache.derbyTesting.perf.clients.Runner \
    -driver org.apache.derby.jdbc.EmbeddedDriver \
    -url "jdbc:derby:db;create=true;dataEncryption=true;encryptionKeyLength=256;encryptionAlgorithm=AES/CBC/NoPadding;encryptionKey=1234567890abcdef1234567890abcdef"
\
    -init \
    -load sr_select \
    -threads 1 \ 

Results: 9669, 9027, 9727, 9653

---- AES 256 BIT ENCRYPTION UPDATE ----
rm -rf db
java org.apache.derbyTesting.perf.clients.Runner \
    -driver org.apache.derby.jdbc.EmbeddedDriver \
    -url "jdbc:derby:db;create=true;dataEncryption=true;encryptionKeyLength=256;encryptionAlgorithm=AES/CBC/NoPadding;encryptionKey=1234567890abcdef1234567890abcdef"
\
    -init \
    -load sr_update \
    -threads 1 \ 

Results: 850, 793, 830, 768

---- AES 256 BIT ENCRYPTED FILE SYSTEM READ ONLY ----
pushd /Volumes/encryptedDisk
rm -rf db
java org.apache.derbyTesting.perf.clients.Runner \
    -driver org.apache.derby.jdbc.EmbeddedDriver \
    -url "jdbc:derby:db;create=true" \
    -init \
    -load sr_select \
    -threads 1 \ 
popd

Results: 18374, 18245, 18501, 18159

---- AES 256 BIT ENCRYPTED FILE SYSTEM UPDATE ----
pushd /Volumes/encryptedDisk
rm -rf db
java org.apache.derbyTesting.perf.clients.Runner \
    -driver org.apache.derby.jdbc.EmbeddedDriver \
    -url "jdbc:derby:db;create=true" \
    -init \
    -load sr_update \
    -threads 1 \ 
popd

Results: 23, 20, 21, 21

                
> Measure the performance degradation incurred by encrypting Derby databases
> --------------------------------------------------------------------------
>
>                 Key: DERBY-5503
>                 URL: https://issues.apache.org/jira/browse/DERBY-5503
>             Project: Derby
>          Issue Type: Task
>          Components: Store
>    Affects Versions: 10.9.0.0
>            Reporter: Rick Hillegas
>
> It would be good to measure the performance degradation incurred by Derby's encryption.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message