Closed abnerwei closed 3 years ago
我怀疑 wrk
的问题哈,我用 hey
测试没问题,你也试试,我觉得如果 hey
这样测试没问题
$ hey -z 3s -c 20 http://127.0.0.1:8888/from/me -H 'Connection: close'
Summary:
Total: 3.1803 secs
Slowest: 0.4567 secs
Fastest: 0.4508 secs
Average: 0.4539 secs
Requests/sec: 44.0215
Total data: 1960 bytes
Size/request: 14 bytes
Response time histogram:
0.451 [1] |■
0.451 [15] |■■■■■■■■■■■■■■■■■■
0.452 [8] |■■■■■■■■■
0.453 [11] |■■■■■■■■■■■■■
0.453 [5] |■■■■■■
0.454 [15] |■■■■■■■■■■■■■■■■■■
0.454 [19] |■■■■■■■■■■■■■■■■■■■■■■
0.455 [16] |■■■■■■■■■■■■■■■■■■■
0.456 [34] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
0.456 [6] |■■■■■■■
0.457 [10] |■■■■■■■■■■■■
Latency distribution:
10% in 0.4512 secs
25% in 0.4526 secs
50% in 0.4542 secs
75% in 0.4551 secs
90% in 0.4557 secs
95% in 0.4563 secs
99% in 0.4567 secs
Details (average, fastest, slowest):
DNS+dialup: 0.0001 secs, 0.4508 secs, 0.4567 secs
DNS-lookup: 0.0000 secs, 0.0000 secs, 0.0000 secs
req write: 0.0000 secs, 0.0000 secs, 0.0002 secs
resp wait: 0.4535 secs, 0.4506 secs, 0.4566 secs
resp read: 0.0001 secs, 0.0000 secs, 0.0005 secs
Status code distribution:
[200] 140 responses
从测试结果看 wrk
基于 epoll(Linux)
和 kqueue(MacOS)
都复现了问题,其他工具 ab
、hey
、locust
都没有问题。初步判断是 wrk
工具问题。
从 WireShark
抓包来看,是 wrk
客户端主动断开连接导致的 503错误,框架应该没有问题 😀
对了,研究过程中发现 core/logx/logs_test.go#245
, wireConsole = false
, 再次调用log.Close()
会导致单元测试报错 ErrLogNotInitialized
goctl
init projectuse ab or wrk
Verbose
日志详情可以看到返回Request Timeout