码迷,mamicode.com
首页 > 其他好文 > 详细

redis tcp-backlog配置

时间:2014-10-16 01:22:21      阅读:497      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   io   os   sp   div   2014   

在redis2.8版本中有一个tcp-backlog配置, 说明如下:

# TCP listen() backlog.
#
# In high requests-per-second environments you need an high backlog in order
# to avoid slow clients connections issues. Note that the Linux kernel
# will silently truncate it to the value of /proc/sys/net/core/somaxconn so
# make sure to raise both the value of somaxconn and tcp_max_syn_backlog
# in order to get the desired effect.
tcp-backlog 100

然后运行ss命令显示:

1
2
State      Recv-Q Send-Q        Local Address:Port          Peer Address:Port
LISTEN     0      100                       *:6379                     *:*    

我们看到Send-Q的值为100, 即是我们配置的tcp-backlog值. 为了搞清楚这个值的意思, 了解了下tcp的三次握手进行中的一些queue的知识. 参考下图我们可以看到在server接收到sny的时候会进入到一个syn queue队列, 当server端最终收到ack时转换到accept queue队列. 上面终端显示在listen状态下的连接, 其Send-Q就是这个accept queue队列的最大值. 只有server端执行了accept后才会从这个队列中移除这个连接. 这个值的大小是受somaxconn影响的, 因为是取的它们两者的最小值, 所以如果要调大的话必需修改内核的somaxconn值. 

bubuko.com,布布扣

参考: http://jaseywang.me/2014/07/20/tcp-queue-%E7%9A%84%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98/

 

redis tcp-backlog配置

标签:des   style   blog   http   io   os   sp   div   2014   

原文地址:http://www.cnblogs.com/Alight/p/4027733.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!