1

假设我有 15000 个处于 TIMEWAIT 状态的连接,它会影响性能吗?问题是我从 erlang 连接到 redis 并且我得到 redis 超时并且我正在触发许多查询让我们在 1-2 秒内说 15000。

  • 问题不是套接字限制

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

在 erlang 方面,我有 20 秒的 timewait 时间,我认为这足以完成任务,因为 redis 非常快。

可能是什么问题?顺便说一句,我使用 eredis 作为库

4

1 回答 1

0

不随心所欲地打开与redis的连接,而是拥有一个稳定的连接池会更有效。您将消除每次启动 tcp 会话的大量开销。此外,您可能会遇到“打开的文件太多”错误。

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

  • net.ipv4.tcp_tw_recycle
  • net.ipv4.tcp_tw_reuse
  • net.ipv4.tcp_fin_timeout
于 2013-08-01T05:01:37.593 回答