感谢楼主的贡献。 Linux 内核对 TCP 写缓存有 autotuning,手工指定tcp_wmem为一个受限值反而会影响这一机制。另外,TCP metadata 等也会占用缓存,故tcp_adv_win_scale等参数也很重要。
@Yelling6116 #265 感谢您的评论,我一直期待像您一样更富有学识的人来和我讨论以改善文章内容,但可惜少之又少 tcp_wmem不是有指定min、default、max吗?缓存会在default和max之间自己调整吧,也不算写死了;而且在高延迟场景下仅凭Linux内核的自调节是完全跟不上节奏的,美西机不调只能跑150M,相差甚远 tcp_adv_win_scale我也测试过,但可惜测速没什么区别,虽然理论上应该有效果
@BlackSheep #268 发布于2024-12-31, 2:44:47 p.m.,编辑于2024-12-31, 2:56:48 p.m. @Yelling6116 #265 感谢您的评论,我一直期待像您一样更富有学识的人来和我讨论以改善文章内容,但可惜少之又少 tcp_wmem不是有指定min、default、max吗?缓存会在default和max之间自己调整吧,也不算写死了;而且在高延迟场景下仅凭Linux内核的自调节是完全跟不上节奏的,美西机不调只能跑150M,相差甚远 tcp_adv_win_scale我也测试过,但可惜测速没什么区别,虽然理论上应该有效果 研究了下,tcp_adv_win_scale似乎对读缓存影响大,有空我也去做做实验 我自用的是开 BBR、开tcp_window_scaling、开tcp_moderate_rcvbuf、buffer 设了两倍(非尖峰时刻的)时延积配合tcp_adv_win_scale、开tcp_sack,再加个tcp_notsent_lowat = 131072。 总之,内容非常棒,包括那篇 VPS 评测的「标准答案」
好帖收藏
bd,必须支持一下
支持
好文,支持一下
感谢楼主的贡献。
Linux 内核对 TCP 写缓存有 autotuning,手工指定
tcp_wmem为一个受限值反而会影响这一机制。另外,TCP metadata 等也会占用缓存,故tcp_adv_win_scale等参数也很重要。学习了,给个鸡腿支持一下大佬
感谢,有效果。不知道这个适用于ipv6吗
@Yelling6116 #265
感谢您的评论,我一直期待像您一样更富有学识的人来和我讨论以改善文章内容,但可惜少之又少
tcp_wmem不是有指定min、default、max吗?缓存会在default和max之间自己调整吧,也不算写死了;而且在高延迟场景下仅凭Linux内核的自调节是完全跟不上节奏的,美西机不调只能跑150M,相差甚远
tcp_adv_win_scale我也测试过,但可惜测速没什么区别,虽然理论上应该有效果
@lilarcor #267
适用,你不去用基于udp的代理协议就行
研究了下,

tcp_adv_win_scale似乎对读缓存影响大,有空我也去做做实验我自用的是开 BBR、开
tcp_window_scaling、开tcp_moderate_rcvbuf、buffer 设了两倍(非尖峰时刻的)时延积配合tcp_adv_win_scale、开tcp_sack,再加个tcp_notsent_lowat = 131072。总之,内容非常棒,包括那篇 VPS 评测的「标准答案」