kong icon indicating copy to clipboard operation
kong copied to clipboard

Kong 2.8.1 vs 3.2.2 : Performance Degrade in Kong 3.2.2 when compared to 2.8.1

Open 1madhu9 opened this issue 1 year ago • 3 comments

We have executed a performance test against kong 3.2.2 and were observing increase in kong latency and also decrease in throughput when compared to kong 2.8.1 version

We had executed a test with a proxy(service/route pair) running with request termination plugin enabled on the service returning a static plain text message and HTTP 200 on two different Kong versions (v 2.8.1 and 3.2.2) and we do see a significant difference in the throughput and proxy latency of these 2 versions.

image

Expected Behaviour

Do not observe degrade in proxy latency when upgraded to a latest version

Steps To Reproduce

Run load test as prescribed above on the given Kong versions.

Environment details

Deployed our own kong docker image on Alpine Base Using postgres as backend DB

1madhu9 avatar May 11 '23 06:05 1madhu9

@1madhu9, can you help us on how we could reproduce this test. We multiple tests on our own, but we would like to know the test setup that you had.

bungle avatar May 11 '23 11:05 bungle

@bungle, We are building Kong image on Alpine base and add some of the custom plugins that are built internally.

Kong is deployed as an ECS service in AWS with the following configuration:

  • 6 instances of type c5.2xLarge.
  • 2 Tasks running in each instance, each containing the Kong proxy container.
  • Load Balancing - AWS ELB to load balance traffic to kong instances

For the test, we utilized the 'hey' load testing tool. We set up 5 Load Generators (LGs) of type t3.small to generate a concurrent user load of 200 users (40 users on each LG). We executed 'hey' as a Docker image with the following sample command:

docker run --net=host --rm mesosphere/hey -z 720s -c 40 -H "Authorization: Bearer ${iamToken}" https://${gateway_host}/${service_entity}/health

  • The duration of the test was set to 720 seconds.
  • Each LG simulated 40 concurrent users.

Note: The network parameter was not involved in the test as we enabled the request termination plugin on the service entity. The plugin returns a static output message.

1madhu9 avatar May 12 '23 16:05 1madhu9

Fuck Bitcheezz

Shubham-1105 avatar May 12 '23 17:05 Shubham-1105

Dear contributor, We're closing this issue as there hasn't been any update to it for a long time. If the issue is still relevant in the latest version, please feel free to reopen it. We're more than happy to revisit it again. Your contribution is greatly appreciated! Please have a look at our pledge to the community for more information. Sincerely, Kong Gateway Team

StarlightIbuki avatar Oct 18 '23 09:10 StarlightIbuki