全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
楼主: SAJ

[疑问] [教程]使用Nginx做TCP/UDP中转服务器

  [复制链接]
发表于 2021-7-14 13:29:41 | 显示全部楼层
mark  备用
发表于 2021-7-14 13:37:15 | 显示全部楼层
KallyDev 发表于 2021-7-14 11:49
大佬你好,我想问问有没有零拷贝的 benchmark 结果?我之前用三台 5Gbps 服务器进行测试,速率上并没有什 ...

一般来说都能跑满网卡。。只有loopback才看得出差别。不过我也只是粗略地跑一跑iperf3,没去看其他参数

我本地轻薄本用splice能跑40Gbs, 用copy(16k buf) 只有20Gbs
国内nat上是8Gbs  vs. 4Gbs
virmach(cpu比较烂, 已经有点接近网络带宽了) 6Gbs vs. 2Gbs

总的来说zero copy确实大大提升了吞吐量,但是对实际体验不会有太大影响,除非CPU特别弱。不过我个人还是认为,作为一个合格的流量转发工具,零拷贝是必要的feature
发表于 2021-7-14 13:48:51 | 显示全部楼层
NiDiPiZiNaFongQ 发表于 2021-7-14 12:36
大锅,你这个fork似乎把config的格式全给改了?

是的= =因为要支持tcp/udp单独开启 以及 自定义dns解析策略(issue区有人提的需求)
我也觉得原来的配置格式不够清晰,域名地址解析方式也不够优雅(套了个读写锁,每次解析都要加锁/解锁,还要解析/拼接字符串)。因为要改动的地方有点多,索性就自己重构了。

https://github.com/zephyrchien/realm/releases/tag/custom-rc2 这是上一个版本,在原版的基础上设置了tcp_nodelay标志/增**uffer/实现零拷贝,没有动其他地方。这三个feature我都单独开了branch,也给作者提了issue,也许有机会合并到上游版本
发表于 2021-7-14 13:50:24 | 显示全部楼层
这么个东西也出个教程?
nginx用来中转TCP?
发表于 2021-7-14 13:53:09 | 显示全部楼层
nginx一直都在用,还可以限速呢
发表于 2021-7-14 14:14:02 | 显示全部楼层
dunce 发表于 2021-7-14 13:48
是的= =因为要支持tcp/udp单独开启 以及 自定义dns解析策略(issue区有人提的需求)
我也觉得原来的配置格 ...

原版支持端口段的,你的版本也支持不?

有新feature注入是欢迎的,感谢大佬出手,只是我感觉像现在这样把配置都彻底大改,原作者可能不会同意合并(哈哈
发表于 2021-7-14 14:16:08 | 显示全部楼层
还是让他安安心心做代理服务器吧
发表于 2021-7-14 14:45:34 | 显示全部楼层
NiDiPiZiNaFongQ 发表于 2021-7-14 14:14
原版支持端口段的,你的版本也支持不?

有新feature注入是欢迎的,感谢大佬出手,只是我感觉像现在这样 ...

不支持,因为我觉得端口段是个伪需求,而且很容易被滥用(有的用户随手打开上万个端口,纯属浪费资源) 要开启多个端口的话,多复制粘贴几遍配置文件就好了(或者自己写个生成器?我之前有考虑过内置个配置文件浏览/编辑器)

那个重构版本是我写给自己用的。。完全基于自己的想法和需求,一开始就没打算PR,所以改的时候也没啥顾虑= = 不然也不会做出修改配置文件格式这种breaking change(毕竟连配置文件都改了, realm 还叫 realm吗。。除非作者本人也认同

其他每个feature我都单独开了branch,自己实现了以后去提issue,等讨论得差不多了再看要不要pr
发表于 2021-7-14 14:45:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2021-7-14 15:07:45 | 显示全部楼层
qinyang 发表于 2021-7-14 13:50
这么个东西也出个教程?
nginx用来中转TCP?

是呀,学会了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-10-4 08:33 , Processed in 0.279790 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表