我正在写一个 TCP 长连接网关的压测代码,在 client 与 server 建立了 6w 个 conn 后,运行几分钟时间后 client 就异常退出了,没有 panic ,但控制台打印了很多下面的堆栈信息:
goroutine 119057 [sleep]:
time.Sleep(0x77359400)
C:/Users/Administrator/sdk/go1.19.7/src/runtime/time.go:195 +0x13c
command-line-arguments.runOneConn(0xc0004ded00, 0xc0008f4b18, 0xc0008f4b10, 0xea60, {0x8c2c91?, 0xc02a8a1fb0?, 0x1cff060?})
D:/dev_bg/server/src/gateway/main_test.go:201 +0x24d
command-line-arguments.TestTCPServer.func2(0x0?)
D:/dev_bg/server/src/gateway/main_test.go:120 +0x8a
created by command-line-arguments.TestTCPServer
D:/dev_bg/server/src/gateway/main_test.go:110 +0x1a6
goroutine 118925 [sleep]:
time.Sleep(0x77359400)
C:/Users/Administrator/sdk/go1.19.7/src/runtime/time.go:195 +0x13c
command-line-arguments.runOneConn(0xc0004ded00, 0xc0008f4b18, 0xc0008f4b10, 0xea60, {0x8c2c91?, 0xc024cc3fb0?, 0x1cff060?})
D:/dev_bg/server/src/gateway/main_test.go:201 +0x24d
command-line-arguments.TestTCPServer.func2(0x0?)
D:/dev_bg/server/src/gateway/main_test.go:120 +0x8a
created by command-line-arguments.TestTCPServer
D:/dev_bg/server/src/gateway/main_test.go:110 +0x1a6
...重复的堆栈信息
想请教一下如何排查这个问题,server 端是没有 err 的,server 和 client 都运行在一台机器上。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.