前提:更改服务器的配置文件,支持大量链接。html
参考:http://ju.outofmemory.cn/entry/49498 修改服务器配置。nginx
OpenResty:服务器
1 参考 http://www.cnblogs.com/picaso/p/4211551.html 安装 OpenResty测试
2 官网 http://openresty.org/en/getting-started.html rest
3 更改配置文件:netty
http { keepalive_timeout 2000000; --长链接timeout,一个很大的数 keepalive_requests 8192; --每一个链接最大请求数 }
events { worker_connections 1024000; --1百万链接 }
4 客户端: 本身study项目程序code
netty.demo.OpenRestyClient 类
当OpenResty服务端设置启动1个work时,最大链接数达到27万后,服务端会将全部的链接断开。htm
疑问:是否是达到上限后,会自动断开空闲链接?blog
因而,更改程序,客户端每5分钟发一次请求,保持活跃。测试发现,一样,达到27万后,服务端断开全部链接。进程
疑问:设置多个work,是否是能够提升链接数量?
测试发现,当设置2个work时,到达27万,出现一样现象。
使用dmesg命令,grep进程号,发现系统由于OOM把进程杀死了;而nginx又会重起worker。
5 内存的使用。
OpenResty底层使用的是nginx,每个worker占用固定的内存,启动的worker越多,进程占用的内存越大。 当有链接进来时,worker占用增长的内存并不大,但系统free内存大量减小,used内存大量增长。说明,每个链接系统占用的内存更大。