Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Encrypted Vs Unencrypted EBS Volumes AWS

We are testing standard EBS volume, EBS volume with encryption on EBS optimized m3.xlarge EC2 instance.

While analyzing the test results, we came to know that

EBS volume with encryption is taking lesser time during read, write, read/write operations as compared to EBS without encryption. I think there will be an effect of latency on encrypted EBS volume because of extra encryption overhead on every I/O request.

What will be the appropriate reason why EBS encrypted volumes are faster than normal EBS volumes??

Expected results should be that EBS should yield better results that Encrypted EEBS.

Results :

Encrpted EBS results:

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 8
Initializing random number generator from timer.


Extra file open flags: 16384
8 files, 512Mb each
4Gb total file size
Block size 16Kb
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing sequential write (creation) test
Threads started!
Done.

Operations performed:  0 Read, 262144 Write, 8 Other = 262152 Total
Read 0b  Written 4Gb  Total transferred 4Gb  (11.018Mb/sec)
  705.12 Requests/sec executed

Test execution summary:
    total time:                          371.7713s
    total number of events:              262144
    total time taken by event execution: 2973.6874
    per-request statistics:
         min:                                  1.06ms
         avg:                                 11.34ms
         max:                               3461.45ms
         approx.  95 percentile:               1.72ms

EBS results:

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 8
Initializing random number generator from timer.


Extra file open flags: 16384
8 files, 512Mb each
4Gb total file size
Block size 16Kb
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing sequential write (creation) test
Threads started!
Done.

Operations performed:  0 Read, 262144 Write, 8 Other = 262152 Total
Read 0b  Written 4Gb  Total transferred 4Gb  (6.3501Mb/sec)
  406.41 Requests/sec executed

Test execution summary:
    total time:                          645.0251s
    total number of events:              262144
    total time taken by event execution: 5159.7466
    per-request statistics:
         min:                                  0.88ms
         avg:                                 19.68ms
         max:                               5700.71ms
         approx.  95 percentile:               6.31ms

please help me resolve this issue.

like image 860
user3086014 Avatar asked Jun 20 '14 08:06

user3086014


People also ask

Should EBS volumes be encrypted?

Users need to realize that it is important to encrypt their respective EBS volumes. This helps them attain the maximum security level in their cloud environment.

Are Amazon EBS volumes encrypted?

Amazon EBS encrypts your volume with a data key using industry-standard AES-256 data encryption. The data key is generated by AWS KMS and then encrypted by AWS KMS with your AWS KMS key prior to being stored with your volume information.

Are all EBS volumes encrypted by default?

Short description. New Amazon EBS volumes aren't encrypted by default. However, there is a setting in the Amazon Elastic Compute Cloud (Amazon EC2) console that turns on encryption by default for all new Amazon EBS volumes and snapshot copies created within a specified Region.

How do I know if my EBS volume is encrypted?

Using AWS Console 04 Select the Amazon EBS volume that you want to examine. 05 Choose the Description tab from the console bottom panel and check the Encryptionattribute value. If the Encryption attribute value is set to Not Encrypted, the selected Amazon EBS volume is not encrypted at rest.


1 Answers

That's certainly unexpected conceptually and also confirmed by Amazon EBS Encryption:

[...] and you can expect the same provisioned IOPS performance on encrypted volumes as you would with unencrypted volumes with a minimal effect on latency. You can access encrypted Amazon EBS volumes the same way you access existing volumes; encryption and decryption are handled transparently and they require no additional action from you, your EC2 instance, or your application. [...] [emphasis mine]

Amazon EBS Volume Performance provides more details on EBS performance in general - from that angle, but pure speculation, maybe the use of encryption implies some default Pre-Warming Amazon EBS Volumes:

When you create any new EBS volume (General Purpose (SSD), Provisioned IOPS (SSD), or Magnetic) or restore a volume from a snapshot, the back-end storage blocks are allocated to you immediately. However, the first time you access a block of storage, it must be either wiped clean (for new volumes) or instantiated from its snapshot (for restored volumes) before you can access the block. This preliminary action takes time and can cause a 5 to 50 percent loss of IOPS for your volume the first time each block is accessed. [...]

Either way, I suggest to rerun the benchmark after pre-warming both new EBS volumes, in case you haven't done so already.

like image 67
Steffen Opel Avatar answered Oct 14 '22 06:10

Steffen Opel