tencent cloud

云服务器

动态与公告
产品动态
公共镜像更新动态
操作系统官方停止维护计划
产品公告
产品简介
云服务器概述
产品优势
基本概念
地域和可用区
新手指引
Service Regions and Service Providers
产品计费
计费概述
计费方式
计费项
转换计费方式
购买实例
变配费用说明
欠费说明
快速入门
通过自定义配置购买 Linux 云服务器
通过自定义配置购买 Windows 云服务器
用户指南
操作指南总览
使用限制总览
实例
竞价实例
预留实例
镜像
存储
备份与恢复
网络
安全
密码/密钥
监控与告警
运维管理
便捷功能
迁移服务器
在线迁移
迁移咨询
故障处理
无法登录云服务器问题处理思路
Windows 实例登录相关故障
Linux 实例登录相关故障
其他实例登录相关故障
实例运行故障
Linux 实例内存故障
网络故障
实践教程
云服务器选型建议
搭建环境
搭建网站
搭建应用
搭建可视化界面
本地文件上传到云服务器
网络性能测试
其他实践教程
API 文档
History
Introduction
API Category
Making API Requests
Region APIs
Instance APIs
Cloud Hosting Cluster APIs
Image APIs
Instance Launch Template APIs
Placement Group APIs
Key APIs
Security Group APIs
Network APIs
Data Types
Error Codes
安全与合规
访问管理
网络
常见问题
地域和可用区相关
计费相关
实例相关
存储相关
镜像相关
服务器迁移相关
网络相关
安全相关
操作系统相关
运维和监控相关
访问管理相关
NTP 服务相关
应用场景相关
服务协议
CVM Service Level Agreements
Red Hat Enterprise Linux 镜像服务协议
Public IP Service Level Agreement
词汇表

如何避免 PAWS 丢包

PDF
聚焦模式
字号
最后更新时间: 2025-11-13 17:38:16

背景

tcp_tw_recycle 参数用于快速回收 TIME-WAIT 状态的连接。然而,在某些情况下,这个参数可能会导致 PAWS 丢包问题,特别是当网络中存在 NAT(网络地址转换)时。因此,通常建议将其关闭。
下面是如何关闭 tcp_tw_recycle 并配置 tcp_tw_bucket 的步骤。

操作步骤

关闭 tcp_tw_recycle

临时关闭

sudo sysctl -w net.ipv4.tcp_tw_recycle=0

永久关闭

1. 编辑 /etc/sysctl.conf 文件,添加或修改以下行:
net.ipv4.tcp_tw_recycle = 0
2. 然后使配置生效:
sudo sysctl -p

配置 tcp_tw_bucket

tcp_tw_bucket参数用于设置 TIME-WAIT 状态的连接桶的数量。增加这个值可以帮助系统更好地处理大量 TIME-WAIT 状态的连接。

临时配置

sudo sysctl -w net.ipv4.tcp_max_tw_buckets=4096

永久配置

1. 编辑/etc/sysctl.conf文件,添加或修改以下行:
net.ipv4.tcp_max_tw_buckets = 4096
2. 然后使配置生效:
sudo sysctl -p

其他相关优化

除了上述两个参数外,还有一些其他的内核参数可以帮助优化 TCP 连接处理:

增加文件描述符限制

sudo sysctl -w fs.file-max=100000

增加系统可打开的文件数

编辑 /etc/security/limits.conf 文件,添加或修改以下行:
* soft nofile 65535
* hard nofile 65535

增加系统可建立的最大连接数

sudo sysctl -w net.core.somaxconn=65535

增加半连接队列长度

sudo sysctl -w net.ipv4.tcp_max_syn_backlog=65535

减少 TIME-WAIT 状态的超时时间

sudo sysctl -w net.ipv4.tcp_fin_timeout=15

验证配置

你可以使用以下命令来验证配置是否生效:
sysctl -a | grep tcp_tw
sysctl -a | grep file-max
sysctl -a | grep somaxconn
sysctl -a | grep tcp_max_syn_backlog
sysctl -a | grep tcp_fin_timeout

重启服务

如果你正在优化的是某个特定的服务(如 Web 服务器、数据库等),建议重启该服务以确保新的内核参数生效。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈