客户端 address 不足

net.ipv4.ip_local_port_range = 1024 65000

net.ipv4.ip_local_reserved_ports=8080,8081

net.core.somaxconn = 65535

net.ipv4.tcp_max_syn_backlog = 65535

复制代码
func initTransport() {
	// 创建自定义 Transport
	transport = &http.Transport{
		MaxIdleConns:        config.conns * 2, // 创建 Transport 时设置最大空闲连接数
		MaxIdleConnsPerHost: config.conns,     // 创建 Transport 时设置每个主机最大空闲连接数
		IdleConnTimeout:     90 * time.Second, // 创建 Transport 时设置空闲连接超时
	}
	customDialer := &net.Dialer{
		Timeout:   30 * time.Second,
		KeepAlive: 30 * time.Second,
		Control: func(network, address string, c syscall.RawConn) error {
			var operr error
			err := c.Control(func(fd uintptr) {
				// 设置 SO_LINGER 为0,实现优雅关闭
				linger := &unix.Linger{
					Onoff:  1,
					Linger: 0,
				}
				operr = unix.SetsockoptLinger(int(fd), unix.SOL_SOCKET, unix.SO_LINGER, linger)
				if operr != nil {
					return
				}

				// 设置 IP_BIND_ADDRESS_NO_PORT (Linux 4.2+)
				// 这个选项允许绑定地址时不预留端口
				operr = unix.SetsockoptInt(int(fd), unix.IPPROTO_IP, unix.IP_BIND_ADDRESS_NO_PORT, 1)
			})

			if err != nil {
				return err
			}
			return operr
		},
	}

	// 更新 transport 使用自定义 dialer
	transport.DialContext = customDialer.DialContext
}

backlog

rlimits

queues

232 echo ff > /sys/class/net/ens3/queues/rx-0/rps_cpus

233 echo ff > /sys/class/net/ens3/queues/rx-0/rps_flow_cnt

234 ls /sys/class/net/ens3/queues/

235 echo 4096 > /sys/class/net/ens3/queues/rx-0/rps_flow_cnt

238 echo 32768 > /sys/class/net/ens3/queues/rx-0/rps_flow_cnt

相关推荐
wdfk_prog10 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
盟接之桥10 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
忆~遂愿11 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘11 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy64811 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满11 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠12 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio12 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice12 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
Harvey90312 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s