升级CentOS6.5内核,开启Nginx的fastopen和reuseport特性

前面,张戈博客在折腾Nginx的SSL优化时,注意到前人在Nginx的listen配置中,添加了 fastopen=3 reuseport 这2个参数。

于是脑补了下,原来是启用Nginx对TCP_FASTOPEN和TCP_SO_REUSEPORT新特性的支持,至于有什么好处,请自行脑补下-->传送门升级CentOS6.5内核,开启Nginx的fastopen和reuseport特性

一、必要环境

当我依葫芦画瓢也添加这2个参数时,报错了:

继续脑补了下,发现系统必须支持 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或更高版本,以便支持这项特性。

——摘自kn007的个人博客

二、升级内核

1、方式选择

看了下前人的分享,Centos内核升级一般有2种方式:编译安装或利用EPEL的yum源在线升级

在我看来,下载源码编译安装,不但步骤繁琐,而且容易出错,简直是小白的克星,而yum在线升级不易出错且步骤简单,简直是懒人必选良方,因此这里就只分享yum在升级方案,如果不是centos,就只能自己去找下源码编译的教程了。

在yum的ELRepo源中,有 mainline(3.13.1)、 long- term(3.10.28)这2个内核版本,考虑到long-term更稳定,会长期更新,所以选择这个版本。

2、导入public key

3、安装ELRepo到CentOS-6.5中

4、安装 kernel-lt(lt=long-term)

Ps:如果是安装kernel-ml(ml=mainline版本),则把上述代码中的 kernel-lt 改为 kernel-ml。

5、确认Grub引导顺序

一般来说,新安装的内核映像会位于第一位,所以只要检查grub.conf中的default值是否指向新装内核即可,比如我的系统:

6、启用特性

编辑 /etc/sysctl.conf ,插入  net.ipv4.tcp_fastopen = 3,执行如下命令即可:

搞定一切之后,我们重启系统完成此次内核升级。

——以上参考自 《使用yum快速升级CentOS 6.5内核到 3.10.28 | 原作者:健富的博客

三、重新编译

接下来,我们需要重新编译我们的Nginx或Tengine,新增 --with-cc-opt=-DTCP_FASTOPEN=23

1、先查看当前Nginx的编译参数:

2、新增开启FASTOPEN参数,重新编译Nginx参数为:

Ps:就是在原有的参数上新增  --with-cc-opt=-DTCP_FASTOPEN=23 ,重新编译前面已经分享过具体操作,这里就不赘述了,不会的朋友请参考:Nginx在线服务状态下平滑升级或新增模块的详细操作记录

3、重新编译,修改Nginx的listen配置:

编辑网站的配置文件,比如zhangge.net.conf,找到listen,然后再结尾分号前面新增 fastopen=3 reuseport参数,比如:

如果使用的是Tengine,这个配置就会报错:

最后了解到,Tengine关于reuserport的配置并不是在Listen,而是放到 events 模块。

所以,如果是Tengine,那么编辑nginx.conf主配置文件,找到events模块,如下新增 reuse_port on; 参数:

然后,在网站的listen处新增 fastopen=3 :

最后,reload重载Nginx即可,这样就不会报错了。

四、其他记录

升级内核,并启用了Nginx新特性之后,并没有进行深入的压力测试,所以本文无法给出优化后的各项性能数据,也不知道具体有多少提升,感兴趣的朋友可以自己开启,然后压测看看。

不过,升级内核后,系统多了200+rcuos和rcuob进程:升级CentOS6.5内核,开启Nginx的fastopen和reuseport特性

实际查看,也并没有占用系统内存或其他资源,看了一些老外论坛相关说明,也没得出一个所以然来,所以先视而不见吧!

发表评论

gravatar

:?::razz::sad::evil::!::smile::oops::grin::eek::shock::???::cool::lol::mad::twisted::roll::wink::idea::arrow::neutral::cry::mrgreen:

刷新评论

目前评论:29   其中:访客  24   博主  5

  1. 小C博客 4 来自天朝的朋友 QQ浏览器 Windows 7 浙江省杭州市 电信

    看不懂的干货

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      ╮(╯▽╰)╭ 很多人反馈文章把简单的东西写复杂了,看来我得修改下文章风格。

  2. 通宝娱乐官网 0 Philippines 谷歌浏览器 Windows 10 菲律宾

    满满的干货,一看到代码就头疼,可惜了。加强学习。。。。

  3. 憧憬Licoy 4 来自天朝的朋友 火狐浏览器 Windows 10 四川省 电信

    每次一看到张戈博主发新文章了,我就知道我的自信心又要受一次打击了

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      :eek:

  4. 酷科技 1 来自天朝的朋友 QQ浏览器 Windows 7 河北省石家庄市 联通

    学习了,,,,

  5. 酷科技 1 来自天朝的朋友 QQ浏览器 Windows 7 河北省石家庄市 联通

    学习,学习

  6. 两天 3 来自天朝的朋友 QQ浏览器 Windows 10 山东省临沂市 移动

    ssl没了 :shock:

  7. 回梦博客 2 来自天朝的朋友 搜狗浏览器 Windows 10 广东省广州市海珠区 电信

    这些功能都很好,就像http2。能加快网站速度。但是套了一层CDN之后。。。。。。

    • 张戈 [博主] 来自天朝的朋友 Safari浏览器  Android 5.1.1 Redmi Note 3 Build/LMY47V 广东省广州市 电信

      明眼人。。

  8. 微部落博客 4 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省常州市 电信

    终于可以打开了,好像张戈的博客好几天没能打开了

    • 张戈 [博主] 来自天朝的朋友 Safari浏览器  Android 5.1.1 Redmi Note 3 Build/LMY47V 广东省广州市 电信

      不会吧,只是https打不开吧,浏览器缓存301死循环了

      • 微部落博客 4 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省常州市 电信

        可能我家里电脑的原因,要清一下浏览器了,单位可以正常打开。是https打开出错。

  9. aunsen 4 这家伙可能用了岛国的代理 火狐浏览器 Windows 10 日本 东京都Linode公司KDDI数据中心

    只有买台阿里云ESC来玩玩么。。。

  10. 好书推荐 4 来自天朝的朋友 谷歌浏览器 Windows 10 广东省广州市 联通

    张哥技术牛啊

  11. edf壹定发 0 Philippines 谷歌浏览器 Windows 10 菲律宾

    博客做得不错,风格很喜欢。高大上又有点技术感,赞。

  12. 动漫 3 来自天朝的朋友 谷歌浏览器 Windows 7 广东省广州市 电信

    categor 和 tag 你这边是怎么去掉的呢?用.替代的话查看源码发现是影响收录的

  13. 微商 3 来自天朝的朋友 火狐浏览器 Windows 10 天津市 联通

    以前博客301循环了,然后那个浏览器就打不开了,现在换一个浏览器还可以正常访问

  14. 纯洁博客 3 来自天朝的朋友 火狐浏览器 Windows 10 重庆市巴南区 蓝天网苑

    要多学习一下了,都看不懂

  15. 明月登楼 5 来自天朝的朋友 谷歌浏览器 Windows 10 河南省南阳市 电信

    干货,但没有看懂! :!:

  16. 七支剑 4 来自天朝的朋友 火狐浏览器 Windows 7 江苏省苏州市 联通

    慢慢消化下 不知道能不能搞懂

  17. 得唔得 0 来自天朝的朋友 QQ浏览器 Windows 7 北京市 北龙中网

    霍雨浩看上去确实年纪很轻,但徐默沉却清楚的感觉到这个年轻人不简单。面对他们这么多人并不慌张,虽然也曾出言威胁,但在被王少杰打了之后并没有破口大骂,神色间淡定从容。这必然是有所依仗

  18. 成都卫校 1 来自天朝的朋友 谷歌浏览器 Windows 10 四川省成都市 联通

    挺棒的

  19. 五冶大学 3 来自天朝的朋友 QQ浏览器 Windows 7 四川省成都市 联通

    都不怎么看得懂。。。。哈哈哈。

  20. 五冶大学 3 来自天朝的朋友 QQ浏览器 Windows 7 四川省成都市 联通

    谢谢博主分享

  21. 电影天堂迅雷下载 4 来自天朝的朋友 谷歌浏览器 Windows 10 四川省自贡市 电信

    还没用过这样的系统

  22. 阳光幼教 1 来自天朝的朋友 谷歌浏览器 Windows 10 北京市 联通

    一直用的阿里云

  23. 小黑 0 来自天朝的朋友 谷歌浏览器  MX5 Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.107 Mobile Safari/537.36 中国 移动

    你好,最近在浏览博客的时候看到你的文章,觉得你写的挺实用的,我是一个大学生,自己也想从事运维之类的工作,感觉Linux很好玩,你能不能做一期关于运维你的成长之路的经验贴之类的文章,求解

    • 张戈 [博主] 来自天朝的朋友 QQ浏览器 Mac OS X 10_11_3 广东省深圳市 电信

      看啥时候有空我总结总结。。
      学习套路:知道做–>有记录–>懂分享–>让看懂(分享的东西有条理,思路清晰,别人能看懂)

加载中,请稍候...