抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

前几天去不图床离线了两个小时,本以为又是服务器受到攻击,结果是 frp 出了问题。本来想换成 nps,结果做了一下测试,发现其性能不如 frp,借此杜老师分别对四款内网穿透工具做了测试,对比结果详见正文。

问题说明

查询了服务端运行状态,提示是 too many open files,意思是打开了太多文件,这是 Linux 内核的限制。修复方式就是修改内核配置,但会影响系统的稳定性。查看了官方 Issues,听说可以用 Docker 的版本解决该问题,目前去不图床使用 Docker 版本 frp 实现内网穿透:

TCP 协议的转发

这里给出四款内网穿透工具在 TCP 协议转发性能对比「内网服务器为北京联通,上行 50M 下行 500M。外网服务器为内蒙古云主机,上下行对等 100M」

工具平均延迟吞吐速率
frp27.935ms3.94MB/s
gost14.942ms5.08MB/s
nps40.902ms2.05MB/s
ssh-tunnel19.023ms4.96MB/s

HTTP 协议的转发

这里给出四款内网穿透工具在 HTTP 协议转发性能对比「内网服务器为北京联通,上行 50M 下行 500M。外网服务器为内蒙古云主机,上下行对等 100M」

工具平均延迟吞吐速率成功几率
frp104.92ms13.03MB/s100%
gost55.02ms12.07MB/s100%
nps390.01ms2.951MB/s91.9%
ssh-tunnel61.91ms9.93MB/s98.7%

配置复杂及安全稳定性

配置复杂程度是按配置文件行数确定,行数越多则越复杂「不按单行配置项的数量」安全性则考虑是否支持通信加密,即加密的级别;稳定性则是在 2H4G 的 CentOS7 系统上运行,通过压测运行结果:

工具配置复杂安全性能稳定性能
frp中等中上高等
gost中等中等中上
nps最低最低低等
ssh-tunnel低等中下中等

评论