今天需要在本机压测一个 Netty 的 TCP 服务,需要在本机做一个简单的压测,想起 Linux 是可以配置最大文件限制数,所以找了一下在 Mac 上的配置:
1. 最大连接数限制
最大连接数限制就是系统所能打开的最大文件数(文件描述符)的限制,分全局和进程两种:
1.1. 全局
1 | » sysctl kern.maxfiles |
1.2. 进程
1 | » sysctl kern.maxfilesperproc |
2. ulimit 命令
1 | » ulimit -n |
3. 动态端口范围
3.1. Linux
1 | root@test:~# sysctl -a|grep ip_local_port_range |
Linux 修改动态端口范围的方法:
1 | echo "net.ipv4.ip_local_port_range = 1024 65535" >> /etc/sysctl.conf |
3.2. Mac OS:
1 | » sysctl net.inet.ip.portrange |
Mac OS 修改动态端口范围
1 | sysctl -w net.inet.ip.portrange.first=32768 |
4. 持久化 Mac 的配置(不建议)
1 | sudo touch /etc/sysctl.conf; |
至于 ulimit -n 的值,可以写入到 .bashrc 文件中。