Skip to content

Envoy Proxy produce a lot of cpu load #436

@max-soe

Description

@max-soe

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:

image
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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions