rakyll / hey

HTTP load generator, ApacheBench (ab) replacement
Apache License 2.0
17.99k stars 1.19k forks source link

update: handle POST request unexpected EOF #285

Open mhnaufal opened 2 years ago

mhnaufal commented 2 years ago

Resolve unexpected EOF when making a POST request.

Related issues = https://github.com/rakyll/hey/issues/283

Reference

requester_test.go result

=== RUN   TestN

Summary:
  Total:    0.0104 secs
  Slowest:  0.0025 secs
  Fastest:  0.0006 secs
  Average:  0.0010 secs
  Requests/sec: 1927.3393

Response time histogram:
  0.001 [1] |■■■■■■
  0.001 [7] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  0.001 [7] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  0.001 [1] |■■■■■■
  0.001 [2] |■■■■■■■■■■■
  0.002 [0] |
  0.002 [0] |
  0.002 [0] |
  0.002 [0] |
  0.002 [0] |
  0.002 [2] |■■■■■■■■■■■

Latency distribution:
  10% in 0.0007 secs
  25% in 0.0008 secs
  50% in 0.0009 secs
  75% in 0.0010 secs
  90% in 0.0023 secs
  95% in 0.0025 secs
  0% in 0.0000 secs

Details (average, fastest, slowest):
  DNS+dialup:   0.0006 secs, 0.0003 secs, 0.0011 secs
  DNS-lookup:   0.0000 secs, 0.0000 secs, 0.0000 secs
  req write:    0.0001 secs, 0.0000 secs, 0.0004 secs
  resp wait:    0.0002 secs, 0.0001 secs, 0.0005 secs
  resp read:    0.0001 secs, 0.0000 secs, 0.0002 secs

Status code distribution:
  [200] 20 responses

--- PASS: TestN (0.01s)
=== RUN   TestQps
--- PASS: TestQps (1.01s)

=== RUN   TestRequest

Summary:
  Total:    0.0018 secs
  Slowest:  0.0018 secs
  Fastest:  0.0018 secs
  Average:  0.0018 secs
  Requests/sec: 546.8665

Response time histogram:
  0.002 [1] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  0.002 [0] |
  0.002 [0] |
  0.002 [0] |
  0.002 [0] |
  0.002 [0] |
  0.002 [0] |
  0.002 [0] |
  0.002 [0] |
  0.002 [0] |
  0.002 [0] |

Latency distribution:
  0% in 0.0000 secs
  0% in 0.0000 secs
  0% in 0.0000 secs
  0% in 0.0000 secs
  0% in 0.0000 secs
  0% in 0.0000 secs
  0% in 0.0000 secs

Details (average, fastest, slowest):
  DNS+dialup:   0.0012 secs, 0.0012 secs, 0.0012 secs
  DNS-lookup:   0.0000 secs, 0.0000 secs, 0.0000 secs
  req write:    0.0001 secs, 0.0001 secs, 0.0001 secs
  resp wait:    0.0003 secs, 0.0003 secs, 0.0003 secs
  resp read:    0.0001 secs, 0.0001 secs, 0.0001 secs

Status code distribution:
  [200] 1 responses

--- PASS: TestRequest (0.00s)
=== RUN   TestBody

Summary:
  Total:    0.0110 secs
  Slowest:  0.0014 secs
  Fastest:  0.0010 secs
  Average:  0.0011 secs
  Requests/sec: 912.1757

Response time histogram:
  0.001 [1] |■■■■■■■■■■
  0.001 [4] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  0.001 [0] |
  0.001 [2] |■■■■■■■■■■■■■■■■■■■■
  0.001 [0] |
  0.001 [1] |■■■■■■■■■■
  0.001 [1] |■■■■■■■■■■
  0.001 [0] |
  0.001 [0] |
  0.001 [0] |
  0.001 [1] |■■■■■■■■■■

Latency distribution:
  10% in 0.0010 secs
  25% in 0.0010 secs
  50% in 0.0011 secs
  75% in 0.0012 secs
  90% in 0.0014 secs
  0% in 0.0000 secs
  0% in 0.0000 secs

Details (average, fastest, slowest):
  DNS+dialup:   0.0007 secs, 0.0007 secs, 0.0009 secs
  DNS-lookup:   0.0000 secs, 0.0000 secs, 0.0000 secs
  req write:    0.0001 secs, 0.0000 secs, 0.0003 secs
  resp wait:    0.0002 secs, 0.0001 secs, 0.0003 secs
  resp read:    0.0000 secs, 0.0000 secs, 0.0001 secs

Status code distribution:
  [200] 10 responses

--- PASS: TestBody (0.01s)
PASS

Process finished with the exit code 0

hey_test.go result:

=== RUN   TestParseValidHeaderFlag
--- PASS: TestParseValidHeaderFlag (0.00s)
=== RUN   TestParseInvalidHeaderFlag
--- PASS: TestParseInvalidHeaderFlag (0.00s)
=== RUN   TestParseValidAuthFlag
--- PASS: TestParseValidAuthFlag (0.00s)
=== RUN   TestParseInvalidAuthFlag
--- PASS: TestParseInvalidAuthFlag (0.00s)
=== RUN   TestParseAuthMetaCharacters
--- PASS: TestParseAuthMetaCharacters (0.00s)
PASS

Process finished with the exit code 0