调整大量XMPP用户的TCP设置

时间:2014-05-01 07:03:37

标签: sockets tcp xmpp ubuntu-12.04

我读到用于处理大量并发用户的默认TCP设置将不合适。所以我调整了其中一些,我在下面添加了文件。

我现在遇到的问题:

  • 每30-40秒用户连接被删除。然后用户自动重新连接到用户。我使用默认的tcp设置部署了完全相同的服务器,并且没有删除连接。

  • 当用户失去Wi-Fi连接时,tcp连接没有关闭。我减少了keepalive建立,但这似乎不起作用。用户失去了Wi-Fi连接,他仍被视为在线,但他绝对是离线的。我是否正确应用TCP keepalive设置来解决非正常关闭的TCP连接问题?

`

#Increase system file descriptor limit
fs.file-max = 100000

# Discourage Linux from swapping idle processes to disk (default = 60)
vm.swappiness = 10

# Increase ephermeral IP ports
net.ipv4.ip_local_port_range = 10000 65000

# Increase Linux autotuning TCP buffer limits
# Set max to 16MB for 1GE and 32M (33554432) or 54M (56623104) for 10GE
# Don't set tcp_mem itself! Let the kernel scale it based on RAM.
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.core.optmem_max = 40960
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# Make room for more TIME_WAIT sockets due to more clients,
# and allow them to be reused if we run out of sockets
# Also increase the max packet backlog
net.core.netdev_max_backlog = 50000
net.ipv4.tcp_max_syn_backlog = 30000
net.ipv4.tcp_max_tw_buckets = 2000000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 10

# Disable TCP slow start on idle connections
net.ipv4.tcp_slow_start_after_idle = 0

# If your servers talk UDP, also up these limits
net.ipv4.udp_rmem_min = 8192
net.ipv4.udp_wmem_min = 8192

# Disable source routing and redirects
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.accept_source_route = 0

# Log packets with impossible addresses for security
net.ipv4.conf.all.log_martians = 1
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 10
net.ipv4.tcp_keepalive_probes = 5`

1 个答案:

答案 0 :(得分:0)

如果您使用的是openfire,则需要更改空闲连接策略设置