|
|
|
Oracle Transparent Data Encryption (TDE) performance benchmark
Oracle Database Tips by Donald BurlesonDecember 9, 2015
|
Oracle Transparent Data Encryption (TDE) is easy to
benchmark for performance, using the techniques from the book "Database
Benchmarking".
Oracle encryption can affect the performance of
your database in several ways.
With TDE deployed we see a push-pull effect. Overall, the
benchmark slows that I/O writes being reduced while CPU increases,
resulting in slowing SQL throughput:
-
Slower transaction throughput
- As we expect, Oracle transactions run faster without the
encryption/decryption processing overhead. This encryption
benchmark shows significantly slower throughput when deploying TDE,
almost 20% (81 transactions/second with TDE, 121 transactions/second
with TDE).
-
Less Disk Writes - Since
transparent data encryption compresses the data, the benchmark with
TDE required less disk writes.
-
More CPU required - As we
would expert, TDE required CPU cycles for the encrypt/decrypt
operations, and in this benchmark test we see User CPU rise from 46
to 80 when using TDE data encryption.
Benchmark test results using TDE encryption
Gokul performed this benchmark test of Oracle
encryption in 11g HP/UX, using swingbench to generate load data, and
measuring I/O and system resources both within Oracle and externally
using the HP/UX sar utility.
Here are the test results from his encryption
benchmark test. Note that Gokul fired off 85 concurrent sessions
with 30,000 transactions, a statistically valid test size. Statistically
significant test result differences are highlighted
for easy reading:
|
Oracle TDE
|
Oracle Plain
|
File System
|
VxFS
|
VxFS
|
Cache Hit %
|
77.57
|
69.47
|
No. of Threads
|
85
|
85
|
Execution Time (Seconds)
|
372
|
249
|
Transactions Per Second
|
81
|
121
|
Total transactions
|
30,000
|
30,000
|
CPU u/s/i %
|
80/5/15
|
46/10/44
|
Data Datafile
|
Read
|
23,520
|
24,030
|
Write
|
27,720
|
51,300
|
Blocks
|
853,860
|
1,402,110
|
Index Datafile
|
Read
|
27,720
|
34,020
|
Write
|
64,260
|
77,220
|
Blocks
|
1,743,840
|
1,980,720
|
Redo Log
|
Read
|
19,320
|
18,090
|
Write
|
37,800
|
35,370
|
Blocks
|
600,600
|
591,300
|
Others (System + Sysaux + Undo+Users+Control + Temp)
|
Read
|
420
|
2,970
|
Write
|
15,540
|
35,910
|
Blocks
|
275,940
|
763,560
|
SAR Total
|
Read
|
70,980
|
79,110
|
Write
|
145,320
|
199,800
|
Blocks
|
34,74,240
|
4,737,690
|
Oracle IO
|
Read
|
4,695,039
|
4,803,706
|
Write
|
107,460
|
171,687
|
Data Manipulation Statements
(in numbers)
|
Select
|
104,001
|
103,711
|
Insert
|
56,867
|
56,420
|
Update
|
35,487
|
34,614
|
Commit
|
43,519
|
43,419
|
Rollback
|
171
|
183
|
Total Statements
|
24,0045
|
238,347
|
See our related notes on Oracle transparent data
encryption (TDE):
|