基于Erlang高并发测试之客户端准备

来源:互联网 发布:淘宝促销词语 编辑:程序博客网 时间:2024/05/16 14:28
因为业务需求,测试服务端在高并发下的性能(先10w+)。当然需要跑业务逻辑。


测试机器ubuntu14.04,内存16G,i7八核处理器


几经测试发现在连接socket时候经常爆出max open files的错误,很显然是打开句柄不够用。


一般机子是不需要高并发 ,所以对于系统默认参数是不够用的。需要修改本机系统参数


在终端敲入指令ulimit -a 查看默认参数

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 127761
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


发现open files数少的可怜,只有1024,这时候通过sudo vi /etc/security/limit.conf 

在文件加入

* soft noproc 120961
* hard noproc 120961

* soft nofile120961
* hard nofile120961

只要soft软限制不要大于硬限制就行

然后保存.这只是对与同一时间打开文件数,还需要修改限制总文件数的大小

通过修改 /etc/sysctl.conf

fs.file-max=1048576 最大打开文件数
net.ipv4.ip_local_port_range = 1024 65535  客户端连接分配临时端口,这样可以保证可以连接六万多客户端

执行sysctl -p ,配置生效。

接下来客户端运行环境就配置好了。






0 0