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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions