如果许多套接字连接处于TIMEWAIT状态,它是否会影响服务器的性能

时间:2013-07-31 09:35:31

标签: linux sockets tcp erlang scalability

假设我在TIMEWAIT状态下有15000个连接它会影响性能吗?问题是我从erlang连接到redis并且我得到redis超时并且我正在解雇man y查询让我们在1-2秒内说15000。

  • 问题不是套接字限制

我打开连接火灾查询和关闭连接,导致许多连接处于TIMEWAIT状态,这对我来说没问题,因为我有60k个可用套接字。

在erlang方面,我有20秒的时间,我认为绰绰有余,因为redis非常快。

可能是什么问题? BTW我使用eredis作为库

1 个答案:

答案 0 :(得分:0)

根据您的意愿打开与redis的连接会更有效,但是要有一个稳定的连接池。每次启动tcp会话时,您将消除大量开销。 此外,您可能会遇到“打开文件太多”错误。

考虑调整你的/etc/sysctl.conf(如果你在Linux上)。这个参数绝对值得一看:

  • net.ipv4.tcp_tw_recycle
  • net.ipv4.tcp_tw_reuse
  • net.ipv4.tcp_fin_timeout