-
-
Notifications
You must be signed in to change notification settings - Fork 13.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.10 启用加密和压缩后,占用内存异常 #345
Comments
麻烦提供下具体的内存使用情况 |
下面是未启用加密和压缩时frps所在机器的内存情况,机器上几乎只运行frps一个程序,frps已连续工作三小时以上:
以下是启用了加密和压缩时frps所在机器的内存情况,frps是完全重启后运行了10分钟左右。
|
确认下是否运行的是大量短连接的请求?比如 web 服务? 内存占用过了一段时间之后是否会释放(明显减少)? |
推测应该和 #332 是同样的原因引起的,有一些短连接没有正确关闭导致了内存也没有正确释放。 |
修复了之后编译的版本,可以尝试用这个版本再测试一下 |
感谢答复,我是用来反代socks server的,的确是大量的短连接,在frps dashboard中显示瞬间connections有时可达数百,并且开启加密和压缩后,connections数量比未开启时要大 一天8小时跑下来(总耗费流量约10G),1G的总内存,未开加密压缩时,frps的内存占用大概是从几十MB平缓增加到450MB左右(已忽略cached);而开启加密和压缩时,frps的内存占用是在短时间内飙升到900MB+,最后全部访问终端断开后,慢慢降到约600MB 你的测试版我要明天一早才能测试了,到时候再来反馈。 |
大概测试了一下,2000并发的情况,内存占用会到300多MB,连接全部断开一段时间后恢复到 20MB左右。 |
目前看起来内存占用主要是针对每个连接需要分配一定的缓冲区,所以和你的请求数是相关的,和流量多少没有太大的关系。加密和压缩需要额外的缓冲区。 Go 的内存管理机制是定期释放不用的内存,看起来你的请求量还比较大,能大概计算下 qps 在多少左右? |
👍
|
感谢答复。 |
What version of frp are you using (./frpc -v or ./frps -v)?
0.10
What operating system and processor architecture are you using (
go env
)?Ubuntu 16.04 x64
Steps to reproduce the issue:
Describe the results you received:
The text was updated successfully, but these errors were encountered: