2019独角兽企业重金招聘Python工程师标准>>>
1. 来自Scaling Erlang的方法
内核调优:
# Increase the ipv4 port range:
sysctl -w net.ipv4.ip_local_port_range="1024 65535"
# General gigabit tuning:
sysctl -w net.core.rmem_max=16777216
sysctl -w net.core.wmem_max=16777216
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"
sysctl -w net.ipv4.tcp_syncookies=1
# This gives the kernel more memory for tcp which you need with many (100k+) open socket connections
sysctl -w net.ipv4.tcp_mem="50576 64768 98152" sysctl -w net.core.netdev_max_backlog=2500
# This set the tcp max connections
sysctl -w net.netfilter.nf_conntrack_max=1233000
设置打开文件的上限
ulimit -n 999999
erl命令行参数
Erl presents a long list of command line options, we usually need to use just a few of them (+P to have a higher number of processes, +K to enable kernell poll, -smp to enable SMP support)
2016-03-07:
tsung文档中 P73
Increase the maximum number of open files and customize TCP settings in /etc/sysctl.conf. For example:
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
fs.file-max = 65000
待续