Tomcat acceptCount参数
Tomcat acceptCount参数
星逝流 发表于2年前
Tomcat acceptCount参数
  • 发表于 2年前
  • 阅读 418
  • 收藏 7
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

对于acceptCount这个参数,含义跟字面意思并不是特别一致(个人感觉),容易跟maxConnections,maxThreads等参数混淆;实际上这个参数在tomcat里会被映射成backlog:

static {
    replacements.put("acceptCount", "backlog");
    replacements.put("connectionLinger", "soLinger");
    replacements.put("connectionTimeout", "soTimeout");
    replacements.put("rootFile", "rootfile");
}

backlog表示积压待处理的事物,是socket的参数,在bind的时候传入的,比如在Endpoint里的bind方法里:

public void bind() throws Exception {

    serverSock = ServerSocketChannel.open();
    ...
    serverSock.socket().bind(addr,getBacklog());
    ...
}

这个参数其实设置的是TCP的完全连接队列的大小。不过即便设置了acklog参数,linux也会和/proc/sys/net/core/somaxconn这两个值作比较,哪个值小选哪个,somaxconn默认是128,所以在将tomcat-connector的acceptCount参数设置大时,也得将somaxconn的值设置大一些

设置方法:

sysctl -w net.core.somaxconn=32767


标签: acceptCount
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 11
博文 28
码字总数 82169
×
星逝流
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: