Skip to content

Why does the overall average response time for long connections (keep-alive) exceed that for short connections (close) in performance tests? #14824

@fairyqb

Description

@fairyqb

Is there an existing issue for this?

  • I have searched the existing issues

Kong version ($ kong version)

kong 3.5.0

Current Behavior

Why does the overall average response time for long connections (keep-alive) exceed that for short connections (close) in performance tests? Why is this?

average response time:

14.01ms > 9.76ms (keepalive > close)

Expected Behavior

Long connections perform better than short connections.

Steps To Reproduce

command:

1.post 500KB,connection:keepalive

wrk -t8 -c16 -d1m -s post.lua --latency --timeout 5s http://10.129.9.39:5074/user (kong)

  1. post 500KB,connection:close

wrk -t8 -c16 -d1m -s post_close.lua --latency --timeout 5s http://10.129.9.39:5074/user (kong)

client post 500KB, server returned the string "ok".

post.lua

wrk.method = "POST"
wrk.headers["Content-Type"] = "application/json"
wrk.headers["Connection"] = "keep-alive"
local file = io.open("/root/tls/500kb.json", "rb")
wrk.body = file:read("*all")
file:close()

post_close.lua

wrk.method = "POST"
wrk.headers["Content-Type"] = "application/json"
wrk.headers["Connection"] = "close"
local file = io.open("/root/tls/500kb.json", "rb")
wrk.body = file:read("*all")
file:close()

Anything else?

wrk:
Image

iftop:
Image

500kb-json.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions