Your suggested change has been received. Thank you.

close

Suggest A Change

https://thales.na.market.dpondemand.io/docs/dpod/services/kmo….

back

Google Cloud External Key Manager Resources

Google EKM Performance Summary

search

Please Note:

Google EKM Performance Summary

We have tested ten environments to capture performance metrics for the CipherTrust Cloud Key Manager (CCKM) Google External Key Manager (EKM) integration. The below results demonstrate the effects of deployment choices on throughput for EKM endpoint wrap operations. This can help you plan your CipherTrust Manager deployment to meet your performance needs for Google EKM.

There is a Google requirement that wrap and unwrap requests must be completed within 150 ms, so results are presented to show the throughput possible before meeting that threshold.

Actual performance numbers in your environment can be different. The results can vary based on factors such as how and where the CipherTrust Manager is deployed, CipherTrust Manager resources, the location of clients, the network connectivity, and how the traffic is load-balanced.

Tested Environments

All environments used an open source k6.io tool as the REST client, run from a Debian virtual machine. The Virtual Machine was hosted on Google Cloud Platform in us central 1a zone with 8 vCPUs of 64 GB memory, and 50 GB memory disk.

The following CipherTrust Manager deployments were tested:

  • Google Cloud Platform deployments:

    • Single CipherTrust Manager with 4 CPUs and 16 GB RAM.

    • Single CipherTrust Manager with 8 CPUs and 64 GB RAM.

    • Two clustered CipherTrust Manager nodes with a load balancer, each with 4 CPUs and 16 GB RAM.

    • Two clustered CipherTrust Manager nodes with a load balancer, each with 8 CPUs and 64 GB RAM.

  • AWS Cloud deployments:

    • Single CipherTrust Manager with 4 CPUs and 16 GB RAM.

    • Single CipherTrust Manager with 8 CPUs and 64 GB RAM.

  • Azure Cloud deployments:

    • Single CipherTrust Manager with 4 CPUs and 16 GB RAM.

    • Single CipherTrust Manager with 8 CPUs and 64 GB RAM.

  • Single on-premises physical appliance, model CipherTrust Manager k470. See hardware specifications for memory and CPU values.

  • Single Virtual CipherTrust Manager k170v deployed in ESXi private cloud, with 4 CPUs, 16 GB RAM, and 50 GB HDD.

CipherTrust Managers were deployed as geographically close to the k6.io client as possible, to avoid potential network latencies which can occur when crossing geographic regions.In your EKM deployment, we similarly recommend deploying the Virtual CipherTrust Manager instance geographically close to one of the Google Cloud KMS regions where you intend to set up the Google Cloud KMS Key Ring.

Network Requirements

The following ports were opened to ensure CipherTrust Manager/CCKM communication:

TypeProtocolPort Range
SSHTCP22
HTTPSTCP443
PostgeSQL(for cluster)TCP5432

Test Process

The test consisted of starting a given number of virtual users to perform wrap operations on the EKM endpoint. Each user simulated a separate thread.

Total test duration was 40 seconds for each reading. The test was divided into the following increments:

  • Ramp-up time was 5 seconds. Virtual users were started.

  • Test duration was 30 seconds for each reading. Virtual users make wrap requests during that time.

  • Ramp-down time was 5 seconds. Virtual users were stopped until there were zero active virtual users.

Repeating the Test in Your Environment

We have published the scripts used with k6.io on Github, for you to repeat the tests in your own environments as desired.

Google Cloud Deployment Results

For each environment, we chart operations per second against response time (within 90% of the operations). The Google threshold of 150 ms is shown.

GCP Single Node Low Memory

This setup includes a single node with 4 CPUs and 16 GB memory.

Operations/SecondTime Taken
8.6716.07
17.2516.68
34.17524.44
50.928.92
67.42532.45
82.656.68
95.675102.1
109.7119.3
114387.13
117.275192.4
117.475489.81

GCP Single Node High Memory

This setup includes a single node with 8 CPUs and 64 GB memory.

Operations/SecondTime Taken
8.714.8
17.2515.83
34.2518.52
51.319.36
68.37519.12
85.3520.37
102.519.35
119.5519.88
135.3533.33
152.627.93
169.426.76
201.67539.31
231.458.11
261.72573.39
273.725190.38
294.325222.58

GCP Two Node Cluster Low Memory

This setup includes two clustered CipherTrust Manager nodes with a load balancer, each with 4 CPUs and 16 GB RAM.

Operations/SecondTime Taken
8.62520.79
1727.1
33.7528.71
50.62530.88
67.2534.21
84.57528.63
101.07532.49
117.2541.36
133.17547.76
147.97564.7
162.42579.91
186.825136.48
197.5283.47

GCP Two Node Cluster High Memory

This setup includes two clustered CipherTrust Manager nodes with a load balancer, each with 8 CPUs and 64 GB RAM.

Operations/SecondTime Taken
8.67517.32
17.2516.73
34.2517.38
51.3518.74
68.518.05
85.617.62
102.6517.62
119.718.16
136.57519.03
153.82518.31
170.77519.57
204.7521.01
238.52521.77
271.77524.16
305.4525.95
337.2531.64
37132.41
403.52535.85
435.17543.06
464.92552.03
495.5557.3
524.0566.95
549.82584.29
558.95323.87
580.2585.2
587.95140.89

Google Cloud Environment Comparisons

The Google Cloud environments can be compared on the basis of adding memory, adding CPU, and adding an additional node.

Cluster Comparisons

Memory Comparisons

AWS Cloud Deployment Results

For each environment, we chart operations per second against response time (within 90% of the operations). The Google threshold of 150 ms is shown.

AWS Cloud Low Memory

This setup includes a single node with 4 CPUs and 16 GB memory.

Operations/SecondTime Taken
8.431.19
16.72533.27
33.2534.08
49.87532
66.3533.04
82.933.84
99.533.74
115.6535.99
131.72541.56
148.02543.13
164.57540.75
192.9555.14
224.67582.26
250.775106.39
275.7130.2
280.85231.04

AWS Cloud High Memory

This setup includes a single node with 8 CPUs and 64 GB memory.

Operations/SecondTime Taken
8.42528.51
33.2530.23
50.07529.84
66.5530.59
83.42530.14
99.97529.69
116.3530.4
133.27530.09
149.82530.07
166.2531.54
199.32533.12
229.9536.57
265.3534.5
293.8545.65
330.77538.24
361.77546.67
384.22555.3
419.7565
446.17573.86
483.8574.81
507.95104.39
528.775119.47
559122.65
574.125156.26
594.85168.8

AWS Comparison

The effect of adding memory and CPUs cores can be compared on this cloud platform.

Azure Cloud Deployment Results

For each environment, we chart operations per second against response time (within 90% of the operations). The Google threshold of 150 ms is shown.

Azure Cloud Low Memory

This setup includes a single node with 4 CPUs and 16 GB memory.

Operations/SecondTime Taken
8.3537.29
16.541.04
32.941.07
49.540.24
65.82539.53
82.07544.18
98.32544.93
114.67544.12
130.87545.36
146.47551.87
162.02558.47
190.07593.01
217.7107.27
229.325211.43
240.6298.59

Azure Cloud High Memory

This setup includes a single node with 8 CPUs and 64 GB memory.

Operations/SecondTime Taken
8.431.19
16.7532.33
33.232.48
49.97531.68
66.630.97
83.27530.65
99.97530.56
116.3533.25
132.82533.57
148.8537.3
165.92535.75
197.87540.38
229.67550.99
260.32560.44
296.17543.47
325.37557.63
359.57557.94
388.9555.12
416.6577
441.390.91
466.425110.47
493.475123.4
520.125130.77
544.575136.45
559.7179.1
571.8216.89
493.775687.56

Azure Cloud Comparison

The effect of adding memory and CPUs cores can be compared on this cloud platform.

On-Premises Deployment Results

For each environment, we chart operations per second against response time (within 90% of the operations). The Google threshold of 150 ms is shown.

Physical Appliance

This setup includes a single on-premises physical appliance, model CipherTrust Manager k470. See hardware specifications for memory and CPU values.

Operations/SecondTime Taken
8.2543.38
16.3546.37
32.42550.88
48.5555.4
64.1570.26
79.72572.13
93.97599.97
106.725131.61
119.325164.84
129.5210.14

Virtual CipherTrust Manager on Private ESXi Server

Single Virtual CipherTrust Manager k170v deployed in ESXi private cloud, with 4 CPUs, 16 GB RAM, and 50 GB HDD.

Operations/SecondTime Taken
8.432.01
16.72535.15
33.2535.02
49.87532.72
66.47533.56
83.133.22
99.57534.74
116.0535.94
132.1540.32
148.4542.83
163.5558.43
194.1570.75
223.3591.78
249.875114.85
272.775163.1
296.45194.45
330.525161.97
336.975243.3
349.175301.4
356.2359.85
357.55449.2

Conclusion

Adding a second load balanced node scales performance approximately linearly. A larger performance increase was observed from adding CPU and RAM in each cloud environment.