-
Notifications
You must be signed in to change notification settings - Fork 217
Description
Summary
We are currently testing the route integrity feature in the version 2.34 ( cf-deploment 9.5 ). We noticed that the envoy process produces a lot of cpu load on every container, which can affect the running app subsequently.
Before we opened this issue we also discussed this topic in slack.
Expected Result
We expected that this new feature will increase the cpu usage a little bit. The running app should't be affected by the envoy and roughly running as before the feature was enabled.
Actual Result
We created a little python app and ran it on a diego cell with 8Gb Memory and 2 cpus. The app got 4GB memory quota. Then we produced load on the app by using vegeta. For this we used the following command:
echo "GET https://<ROUTE-TO-APPLICATION>" | vegeta -cpus=1 attack -insecure -duration=60s -max-body=0 -rate=<NUMBER-OF-REQUESTS>/1s -connections=20 | vegeta report | grep -v ^Get
We documented the results of cpu usage from the envoy and our app in the following table:
The last row shows a test with route-integrity disabled, so after the feature was enabled, the container could only handle 38% of the number of requests per second.
Context
- diego release 2.34
- gorouter connection properties:
disable_keep_alives: false
max_idle_conns: 49500
max_idle_conns_per_host: 100
frontend_idle_timeout: 900s
backends:
max_conns: 500