侧边栏壁纸
  • 累计撰写 123 篇文章
  • 累计创建 27 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

直播网络搭建及优化

梁来福
2024-11-13 / 0 评论 / 0 点赞 / 38 阅读 / 4052 字
温馨提示:
本文最后更新于 2024-11-19,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

搭建

# 安装pip
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
python get-pip.py

# 安装shadowsocks服务
pip install shadowsocks

# 配置文件
cat > /etc/shadowsocks.json << 'EOF'
{  
    "server":"0.0.0.0",  
    "port_password":{  
     "8381":"xxxxxxx",  
     "8382":"xxxxxxx",  
     "8383":"xxxxxxx",  
     "8384":"xxxxxxx"  
     },  
    "timeout":300,  
    "method":"aes-256-cfb",  
    "fast_open": false  
}
EOF

# 启动服务相关
ssserver -c /etc/shadowsocks.json -d start  
ssserver -c /etc/shadowsocks.json -d stop

优化

Centos7网速测试

# 安装speedtest-cli
pip3 install speedtest-cli

# 测速
[root@p52q3sxp ~]# speedtest-cli
Retrieving speedtest.net configuration...
Testing from LightNode_Limited (154.90.55.188)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by i3D.net (Dubai) [19.67 km]: 1.679 ms
Testing download speed................................................................................
Download: 48.86 Mbit/s
Testing upload speed................................................................................................
Upload: 51.78 Mbit/s

开启UDP

#  配置这一行  "mode": "tcp_and_udp"
[root@p52q3sxp ~]# cat /etc/shadowsocks.json
{
    "server":"0.0.0.0",
    "port_password":{
     "8381":"Dubai2024",
     "8382":"Dubai2024",
     "8383":"Dubai2024",
     "8384":"Dubai2024",
     "8385":"Dubai2024",
     "8386":"Dubai2024"
     },
    "timeout":300,
    "method":"aes-256-cfb",
    "mode": "tcp_and_udp",
    "fast_open": false
}

增加文件描述符限制

sed -i -e 's/^\* soft nofile 65535/#\* soft nofile 65535/' \
       -e 's/^\* hard nofile 65535/#\* hard nofile 65535/' /etc/security/limits.conf

cat >> /etc/security/limits.conf << 'EOF'
* soft nofile 1024000
* hard nofile 1024000
EOF

内核配置

cat >> /etc/sysctl.conf << 'EOF'
# TCP 连接数和队列设置
net.core.somaxconn = 1024
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
# 系统级别的全局文件描述符限制
fs.file-max = 1024000
EOF

# 刷新内核配置
sysctl -p

配置说明

1. net.core.somaxconn

含义:定义系统中每个监听套接字(即每个监听的端口)的最大等待队列长度。等待队列是指那些连接已经发起但尚未被应用程序 accept 的连接请求。

默认值:128。

调整建议:将值增大至 1024 或更高,有助于处理突发的大量连接请求。

2. net.core.netdev_max_backlog

含义:定义网卡接收的数据包队列的最大长度。该队列在数据包等待 CPU 处理时会暂时存储数据包,防止丢包。

默认值:1000。

调整建议:将值增大至 5000 或更高,适合处理高速网络环境,防止高负载下丢包。

3. net.ipv4.tcp_max_syn_backlog

含义:定义在 TCP 三次握手阶段(SYN 接收)尚未完成的连接请求的最大队列长度。

默认值:128 或 256(根据系统配置)。

调整建议:将值增大至 4096 或更高,有助于防止高并发连接下的“连接丢失”现象,特别是在负载较高或网络延迟较大时。

4. net.ipv4.ip_local_port_range

含义:指定 TCP/UDP 连接的本地端口范围。此范围定义了系统为出站连接随机分配的端口号区间。

默认值:通常为 32768 60999。

调整建议:可以将范围扩大至 1024 65535,以支持更多并发连接,特别适合高流量服务器。

5. net.ipv4.tcp_tw_reuse

含义:启用后允许将处于 TIME_WAIT 状态的 TCP 连接重新用于新的连接请求。这对于高并发的短连接环境非常有用,因为它可以减少 TIME_WAIT 状态的连接数量。

默认值:0(禁用)。

调整建议:将值设置为 1(启用),可以提升 TCP 端口的复用效率,加快资源释放,但在一些 NAT 环境中可能会导致数据包错乱。

6. net.ipv4.tcp_fin_timeout

含义:指定 TCP 连接在主动关闭的一方进入 FIN_WAIT2 状态后的超时时间(以秒为单位)。当服务器关闭 TCP 连接时,连接会保持在 FIN_WAIT2 状态,等待对端 ACK 确认。

默认值:60 秒。

调整建议:将值缩短至 30 秒或更少,适合短连接多、断开频繁的环境,有助于快速释放连接资源。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
博主关闭了所有页面的评论