Closed alfiver closed 11 months ago
用 wrk
测试有没有问题?
wrk一样的, 我找到问题了,是你的代码不支持单核(我测试的机器是单核)。 func (eng *engine) activateEventLoops(numEventLoop int) (err error) { 这个方法里,initListener 只有在i > 0 的时候才会初始化
那部分代码不是你理解的那样,而且除非显示指定 WithReusePort
否则代码逻辑不会走到那里。你可以直接 clone 一下 gnet 的仓库,执行 go test 看看。
Actions I've taken before I'm here
What happened?
OS: uname -a Linux bfund 5.15.0-1025-gcp #32-Ubuntu SMP Wed Nov 23 21:46:01 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Go 1.19
编译命令: GOAMD64=v3 go build -o app -tags=poll_opt -gcflags="-l=4" -ldflags="-s -w" main.go
运行方式 ./app
测试方法:ab -c 50 -n 20000 http://127.0.0.1:8080/xxx
结果:ab 无结果输出
strace了一下,就响应了几个消息后就停在epoll_wait上了
Major version of gnet
v2
Specific version of gnet
dev
Operating system
Linux
OS version
Linux 5.15.0-1025-gcp x86_64
Go version
go version go1.19.3 linux/amd64
Relevant log output
Code snippets (optional)
No response
How to Reproduce
Steps to reproduce the behavior:
Does this issue reproduce with the latest release?
It can reproduce with the latest release