分享一个用于 Linode 的 TCP 拥塞控制算法一键编译脚本

2015-01-24 20:33:21 +08:00
 mhycy
现在这个写法需要默认在root用户目录运行

刚学不久,欢迎大家吐槽,拍砖
https://gist.github.com/anonymous/1204c61f6c0489a75baf.js
3928 次点击
所在节点    分享发现
21 条回复
bellchu
2015-01-24 20:51:42 +08:00
-j3去掉吧 曾经出过问题
javaluo
2015-01-24 21:13:47 +08:00
@bellchu 没太明白~~什么意思?
bellchu
2015-01-24 21:19:15 +08:00
@javaluo -j3就是同时三个进程一起编译,某些情况下会造成编译失败 对于内核编译 直接make或者用-j1是最保险的
Yamade
2015-01-24 21:36:30 +08:00
Building modules, stage 2.
MODPOST 14 modules
WARNING: net/ipv4/tcp_vegas: 'tcp_vegas_pkts_acked' exported twice. Previous export was in vmlinux
WARNING: net/ipv4/tcp_vegas: 'tcp_vegas_init' exported twice. Previous export was in vmlinux
WARNING: net/ipv4/tcp_vegas: 'tcp_vegas_cwnd_event' exported twice. Previous export was in vmlinux
WARNING: net/ipv4/tcp_vegas: 'tcp_vegas_get_info' exported twice. Previous export was in vmlinux
WARNING: net/ipv4/tcp_vegas: 'tcp_vegas_state' exported twice. Previous export was in vmlinux
CC net/ipv4/tcp_bic.mod.o
CC net/ipv4/tcp_cubic.mod.o
CC net/ipv4/tcp_dctcp.mod.o
CC net/ipv4/tcp_highspeed.mod.o
CC net/ipv4/tcp_htcp.mod.o
CC net/ipv4/tcp_hybla.mod.o
CC net/ipv4/tcp_illinois.mod.o
CC net/ipv4/tcp_lp.mod.o
CC net/ipv4/tcp_scalable.mod.o
CC net/ipv4/tcp_vegas.mod.o
CC net/ipv4/tcp_veno.mod.o
CC net/ipv4/tcp_westwood.mod.o
CC net/ipv4/tcp_yeah.mod.o
LD [M] net/ipv4/tcp_bic.ko
LD [M] net/ipv4/tcp_cubic.ko
LD [M] net/ipv4/tcp_dctcp.ko
LD [M] net/ipv4/tcp_highspeed.ko
LD [M] net/ipv4/tcp_htcp.ko
LD [M] net/ipv4/tcp_hybla.ko
LD [M] net/ipv4/tcp_illinois.ko
LD [M] net/ipv4/tcp_lp.ko
LD [M] net/ipv4/tcp_scalable.ko
LD [M] net/ipv4/tcp_vegas.ko
LD [M] net/ipv4/tcp_veno.ko
LD [M] net/ipv4/tcp_westwood.ko
LD [M] net/ipv4/tcp_yeah.ko
mhycy
2015-01-24 21:46:18 +08:00
@Yamade 我这也出过警告呢
另外,中日linode,中美ramnode
mhycy
2015-01-24 21:46:51 +08:00
@bellchu Github匿名发布不会用...貌似没法删掉
bellchu
2015-01-24 21:55:42 +08:00
@mhycy
@Yamade

把y改成m就没warning了
mhycy
2015-01-24 21:57:32 +08:00
感谢
zxtasa
2015-01-25 00:27:20 +08:00
楼主能否科普一下这几种算法的特点呢
mhycy
2015-01-25 10:48:27 +08:00
@zxtasa 一个个换着用觉得好就定下来。。。
线路好的时候区别不大,线路不好的时候也没多大提升
具体算法差异看源码和论文就好
msg7086
2015-01-25 11:32:46 +08:00
另外如果打算在linode上编译内核的话……
请手下留情给你们的邻居留点CPU资源。
编译一次内核大概半个小时满载CPU。
mhycy
2015-01-25 12:43:36 +08:00
@msg7086
Linode 使用E5-2680 v2,10核心20线程呢,最低配就分了一个核心而已
msg7086
2015-01-25 12:51:17 +08:00
@mhycy 一台机器上起码50个小鸡呢。(日本那边应该还不止50个
mhycy
2015-01-25 12:52:51 +08:00
@msg7086 这事底层虚拟机系统能协调好的,更别说VPS本来的用途就是Web方向,数据库之类的高CPU高IO应用少不了
mhycy
2015-01-25 12:57:57 +08:00
@msg7086
E5平台50个虚拟机这个估计太乐观了,E5支持双路系统,且最大单U 768G内存,就是整个系统满配1.5T内存....而乞丐版是1G内存....
msg7086
2015-01-25 13:03:48 +08:00
@mhycy 我说的数字是基于之前母机故障以后将小鸡迁移至其他服务器时的队列长度而猜测的。
具体数字不记得了但是应该是50以上100以下。

另外Web/数据库若是本身能吃满Linode的CPU的话,流量要非常大了,或者就是程序写得太烂了→_→。
msg7086
2015-01-25 13:05:04 +08:00
总之我是宁愿用原厂的内核配合模块来跑。
自己编译的话以后还要经常维护升级,好麻烦的。
mhycy
2015-01-25 13:12:23 +08:00
@msg7086 我这个也就编译个模块而已....内核还是原生的
msg7086
2015-01-25 13:43:07 +08:00
@mhycy 咦第26行不是编译内核吗?
mhycy
2015-01-25 14:36:58 +08:00
@msg7086 编译了没用上,最终就用那模块而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/165110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX