V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mhycy
V2EX  ›  分享发现

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

  •  
  •   mhycy · 2015-01-24 20:33:21 +08:00 · 3927 次点击
    这是一个创建于 3594 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在这个写法需要默认在root用户目录运行

    刚学不久,欢迎大家吐槽,拍砖
    .js
    21 条回复    2015-01-25 14:37:28 +08:00
    bellchu
        1
    bellchu  
       2015-01-24 20:51:42 +08:00 via iPhone   ❤️ 1
    -j3去掉吧 曾经出过问题
    javaluo
        2
    javaluo  
       2015-01-24 21:13:47 +08:00 via Android
    @bellchu 没太明白~~什么意思?
    bellchu
        3
    bellchu  
       2015-01-24 21:19:15 +08:00 via iPhone   ❤️ 2
    @javaluo -j3就是同时三个进程一起编译,某些情况下会造成编译失败 对于内核编译 直接make或者用-j1是最保险的
    Yamade
        4
    Yamade  
       2015-01-24 21:36:30 +08:00   ❤️ 1
    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
        5
    mhycy  
    OP
       2015-01-24 21:46:18 +08:00
    @Yamade 我这也出过警告呢
    另外,中日linode,中美ramnode
    mhycy
        6
    mhycy  
    OP
       2015-01-24 21:46:51 +08:00
    @bellchu Github匿名发布不会用...貌似没法删掉
    bellchu
        7
    bellchu  
       2015-01-24 21:55:42 +08:00 via iPhone   ❤️ 1
    @mhycy
    @Yamade

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

    另外Web/数据库若是本身能吃满Linode的CPU的话,流量要非常大了,或者就是程序写得太烂了→_→。
    msg7086
        17
    msg7086  
       2015-01-25 13:05:04 +08:00
    总之我是宁愿用原厂的内核配合模块来跑。
    自己编译的话以后还要经常维护升级,好麻烦的。
    mhycy
        18
    mhycy  
    OP
       2015-01-25 13:12:23 +08:00
    @msg7086 我这个也就编译个模块而已....内核还是原生的
    msg7086
        19
    msg7086  
       2015-01-25 13:43:07 +08:00
    @mhycy 咦第26行不是编译内核吗?
    mhycy
        20
    mhycy  
    OP
       2015-01-25 14:36:58 +08:00
    @msg7086 编译了没用上,最终就用那模块而已
    mhycy
        21
    mhycy  
    OP
       2015-01-25 14:37:28 +08:00
    @msg7086 说回来还真不知道怎么单独编译模块需要部分
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5849 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:30 · PVG 14:30 · LAX 22:30 · JFK 01:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.