kn007的个人博客
♥ You are here: Home > > > 使CentOS 6支持TCP_FASTOPEN和TCP_SO_REUSEPORT

使CentOS 6支持TCP_FASTOPEN和TCP_SO_REUSEPORT

by | 25 Comments

92fcda345808da57c
为何要写这篇文章呢?主要是为了在不更新系统版本的情况,通过更新内核来支持TCP_FASTOPEN和TCP_SO_REUSEPORT特性,以便给Nginx和其他程序更好地使用新功能。

TCP_SO_REUSEPORT特性在kernel-2.6.32-431.29.2及kernel-3.9被启用,CentOS 6用户可以通过更新内核到2.6.32-431或更高版本来支持这项特性。

这个非常简单,直接yum -y update就行了。

关于TCP_FASTOPEN特性在kernel-3.6被客户端支持,在kernel-3.7被服务端支持,也就是说使用TCP_FASTOPEN需要CentOS 6更新内核至3.7或更高版本,以便支持这项特性。

可以通过两种方式来使用新内核,详见《CentOS 6 x64更新内核为3.10.93》这篇文章。

即使内核支持了TCP_FASTOPEN,在编译Nginx的过程中也可能会提示:

checking for TCP_FASTOPEN ... not found

使用的时候,出现类似:

nginx: [emerg] invalid parameter "fastopen=3" in /usr/local/nginx/conf/nginx.conf:9

那么,如何在内核支持TCP_FASTOPEN的前提下,让nginx成功编译上TCP_FASTOPEN特效呢?
在配置Nginx的时候,填上:

--with-cc-opt="-DTCP_FASTOPEN=23"

这是一句定义句,你可以理解为:

#define TCP_FASTOPEN 23

如此便能成功编译上TCP_FASTOPEN功能。

另外建议在/etc/sysctl.conf填上:

net.ipv4.tcp_fastopen = 3

最后用sysctl -p应用配置。

END,两个特性都支持上了。

以上内容基于CentOS 6 x64,主要介绍如何更新使用kernel 3.10.93内核来支持TCP_FASTOPEN和TCP_SO_REUSEPORT特性。

补充,为何感觉Shadowsocks(libev)使用TCP_FASTOPEN反而慢了?甚至连Youtube的缩略图都不显示,坑。谁能告诉我为什么?

不过怎么VPN又貌似快了!?而且用新内核,还多了79M可用最大内存。。。

这又是一篇未检查的定时文章。

转载请注明转自:kn007的个人博客的《使CentOS 6支持TCP_FASTOPEN和TCP_SO_REUSEPORT

donate
有所帮助?

Comments

25 Comments立即评论
Loading...
  1. :twisted: :twisted: 来抢个沙发 :razz: :razz: :mrgreen:

    1. MOD回复

      @World: :mrgreen: 速度挺快的

  2. 好吧 :mrgreen: :mrgreen: :mrgreen:

    1. MOD回复

      @hannah: 好吧 :o :o :o

  3. LV5回复

    77是我永远膜拜的对象

    1. MOD回复

      @小可: :cool: :cool: 好吧

    2. LV5回复

      @kn007: 我上了个16G16核的阿里云,然被淘宝限制访问了

    3. MOD回复

      @小可: :lol: :lol: 哈哈哈,好吧。

    4. LV5回复

      @kn007: :x 你在幸灾乐祸,我申请退款了,哈哈哈哈哈哈哈哈哈啊哈

    5. MOD回复

      @小可: 反正能退款,你买是想抢双12?

    6. LV5回复

      @kn007: 对啊对啊 :mrgreen:

    7. LV5回复

      @小可: 不过就是16-16了,大件秒杀还是秒不过别人,哎哎哎···比如那些沙发,电视什么的

    8. MOD回复

      @小可: 贪得无厌

    9. LV5回复

      @kn007: 我就只想抢张床,我想换床了

  4. :mrgreen: 不明觉厉。 :mrgreen: :???:

    1. MOD回复

      @夜枫: :o 好吧

  5. LV2回复

    好高端,蹭服务器的人伤不起 :roll:

    1. MOD回复

      @aunsen: 你还需要蹭服务器,这么扣

  6. 以前的网站清空了,域名和数据库保存了下来
    重新创的时候,上传原来的数据库,网站就打不开了
    怎么办?

    江湖救急啊!

    1. MOD回复

      @草根成春: 解决就好。 :lol:

  7. LV2回复

    现在墙貌似对ss流量识别度越来越高了,我这干扰也很严重
    你的nginx开启了fastopen之后速度有没有快很多?

    1. MOD回复

      @穹庐: 我觉得ss还好。
      快了一些。

  8. 修改这个选项对于OPENVZ的VPS似乎无效 :x

    1. MOD回复

      @王琪亮: :o OVZ的内核比较麻烦,我是KVM,虚拟化接近物理机

  9. 回复

    很不错哦,收藏了。

icon_wink.gificon_neutral.gificon_mad.gificon_twisted.gificon_smile.gificon_eek.gificon_sad.gificon_rolleyes.gificon_razz.gificon_redface.gificon_surprised.gificon_mrgreen.gificon_lol.gificon_idea.gificon_biggrin.gificon_evil.gificon_cry.gificon_cool.gificon_arrow.gificon_confused.gificon_question.gificon_exclaim.gif