-
Notifications
You must be signed in to change notification settings - Fork 152
Open
Description
- while using httperf to benchmark a server I wrote, it will just stall and not terminate when a response comes in.
- when my server responds with the appropriate response, httperf does not terminate and show the stats.
- I face this problem for single stats tests like
httperf --server localhost --port 4080and multi stats test likehttperf --server localhost --port 4080 --num-conns 100 --rate 10.
Setup:
- arm64 Mac
- http server running on
localhost:4080 - httperf command used is below(sudo since it is installed globally)
$ sudo httperf --server localhost --port 4080
httperf --client=0/1 --server=localhost --port=4080 --uri=/ --send-buffer=4096 --recv-buffer=16384 --ssl-protocol=auto --num-conns=1 --num-calls=1
The tcpdump is as below
19:25:25.285731 IP localhost.49792 > localhost.4080: Flags [S], seq 4109149818, win 16384, options [mss 16344,nop,wscale 3,nop,nop,TS val 544588128 ecr 0,sackOK,eol], length 0
19:25:25.285893 IP localhost.4080 > localhost.49792: Flags [S.], seq 509044763, ack 4109149819, win 65535, options [mss 16344,nop,wscale 6,nop,nop,TS val 1163499699 ecr 544588128,sackOK,eol], length 0
19:25:25.285941 IP localhost.49792 > localhost.4080: Flags [.], ack 1, win 40830, options [nop,nop,TS val 544588128 ecr 1163499699], length 0
19:25:25.285956 IP localhost.49792 > localhost.4080: Flags [P.], seq 1:63, ack 1, win 40830, options [nop,nop,TS val 544588128 ecr 1163499699], length 62
19:25:25.285972 IP localhost.4080 > localhost.49792: Flags [.], ack 1, win 6379, options [nop,nop,TS val 1163499699 ecr 544588128], length 0
19:25:25.285991 IP localhost.4080 > localhost.49792: Flags [.], ack 63, win 6378, options [nop,nop,TS val 1163499699 ecr 544588128], length 0
19:25:25.287219 IP localhost.4080 > localhost.49792: Flags [P.], seq 1:105, ack 63, win 6378, options [nop,nop,TS val 1163499700 ecr 544588128], length 104
19:25:25.287266 IP localhost.49792 > localhost.4080: Flags [.], ack 105, win 40817, options [nop,nop,TS val 544588129 ecr 1163499700], length 0
My server's debugging output (the packet sent) is as follows
Accepted HTTP connection from 127.0.0.1:49792
Consumer 1 is starting the task
HTTP Request:
Method: GET
Path: /
Version: HTTP/1.1
====
HTTP/1.1 200 OK
Server: keanes-magic-server
Date: Wed, 04 Dec 2024 11:25:25 GMT
Connection: close
==
Successfully sent to the client
Consumer 1 has finished the task
This is the hexdump of the packet sent
00000000 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d |HTTP/1.1 200 OK.|
00000010 0a 53 65 72 76 65 72 3a 20 6b 65 61 6e 65 73 2d |.Server: keanes-|
00000020 6d 61 67 69 63 2d 73 65 72 76 65 72 0d 0a 44 61 |magic-server..Da|
00000030 74 65 3a 20 57 65 64 2c 20 30 34 20 44 65 63 20 |te: Wed, 04 Dec |
00000040 32 30 32 34 20 31 31 3a 32 35 3a 32 35 20 47 4d |2024 11:25:25 GM|
00000050 54 0d 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 |T..Connection: c|
00000060 6c 6f 73 65 0d 0a 0d 0a |lose....|
Does anyone know why this is happening exactly ? Afaik my server is responding correctly and in the right format.
Metadata
Metadata
Assignees
Labels
No labels