如何优化Linux上的shadowsocks服务器性能

0 投票
最新提问 9月 4 用户: 花花 (410 分)
发表于 9月 4 用户: Mercedes (470 分)
Centos7 下安装配置shadowsocks服务端 https://www.jianshu.com/p/a731d7462222
Centos7 下安装配置shadowsocks客户端 https://www.jianshu.com/p/1fdd13b47255
发表于 9月 10 用户: LX5818 (430 分)

1个回答

0 投票
最新回答 9月 4 用户: Mercedes (470 分)

优化Linux上的shadowsocks服务器方法,摘自网络

首先,将Linux内核升级到3.5或更高版本。

步骤1,增加打开文件描述符的最大数量

要处理数千个并发TCP连接,我们应该增加打开的文件描述符的限制。

编辑 limits.conf

vi /etc/security/limits.conf

添加这两行

* soft nofile 51200
* hard nofile 51200

然后,在启动shadowsocks服务器之前,先设置ulimit

ulimit -n 51200

步骤2,调整内核参数

调整shadowocks参数的原则是

  1. 尽快重用端口和连接。
  2. 尽可能扩大队列和缓冲区。
  3. 选择TCP拥塞算法以获得大延迟和高吞吐量。

以下是/etc/sysctl.conf我们的生产服务器示例:

fs.file-max = 51200

net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 4096

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_mem = 25600 51200 102400
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_congestion_control = hybla

当然,记得执行sysctl -p以在运行时重新加载配置。

欢迎来到编程助手,编程方面有什么不懂的问题可以尽管在这里提问,你将会收到热心爱好者的回答。
...