mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 16:15:49 -06:00
[GH-ISSUE #1360] 实际测试 frps 心跳超时大约 30s #1080
Labels
No labels
In Progress
WIP
WaitingForInfo
bug
doc
duplicate
easy
enhancement
future
help wanted
invalid
lifecycle/stale
need-issue-template
need-usage-help
no plan
proposal
pull-request
question
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/frp#1080
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ethsonliu on GitHub (Aug 7, 2019).
Original GitHub issue: https://github.com/fatedier/frp/issues/1360
frpc 和 frps 版本都是 0.27.0,运行环境:客户端 arm x86;服务端 ubuntu 14.04 x64。
测试过程:
测试结果:
以下为 frps 端的日志打印,
一共五次测试,显示结果心跳超时大约为 30s。
我的问题:
我源码跟踪,看到服务端确实是默认 90s 的心跳超时,但是实际测试的结果是 30s。是我的测试有问题?还是代码有别的处理,真实的超时就是 30s?
@fatedier commented on GitHub (Aug 7, 2019):
调试时日志级别设置为 trace,可以打印更详细的信息。
@fatedier commented on GitHub (Aug 7, 2019):
日志里面没有
heartbeat timeout,所以并不是因为心跳超时而断开。@ethsonliu commented on GitHub (Aug 7, 2019):
@fatedier 服务端开启
log_level=trace后,多加了条输出,keepalive-timeout 和 heartbeat-timeout 有什么区别,具体是分别想用来干嘛的?
按我的理解,不都是用来判断客户端是否断掉的嘛,如果超时了,就关闭与客户端的连接,节省服务端资源。如果我的理解没错,那为什么弄两个超时呢?
@fatedier commented on GitHub (Aug 7, 2019):
这个是底层多路复用协议的超时时间,目前确实是 30s。
@ethsonliu commented on GitHub (Aug 7, 2019):
@fatedier 也就是说,即使在 frps.ini 修改了心跳超时时长,但是大于 30s,实际上是没有作用的,只有小于 30s,才会起作用,我的理解对么?
@fatedier commented on GitHub (Aug 7, 2019):
不完全对,看在什么样的场景下,一个是类似于 TCP 这一层的超时,一个是上层应用层的超时。
@ethsonliu commented on GitHub (Aug 7, 2019):
嗯,好的,谢谢。
@ZRJUN commented on GitHub (Dec 30, 2021):
请问底层多路复用协议的超时时间和frps.ini中的heartbeat_timeout有什么关联吗