| 缓存可能是网络应用里用的最多的组件。jvm内缓存可以存储一些单机的统计数据,redis等存储一些全局性的统计和中间态数据。   网络应用中会大量使用redis、kv、高吞吐的mq,用来快速响应用户请求。总之,尽量保持通讯层的清爽,你会省去很多忧虑。 单机支持100万连接的Linux配置 单机支持100万连接是可行的,但带宽问题会成为显著的瓶颈。启用压缩的二进制协议会节省部分带宽,但开发难度增加。 和《LWP进程资源耗尽,Resource temporarily  unavailable》中提到的ES配置一样,优化都有类似的思路。这份配置,可以节省你几天的时间,请收下! 操作系统优化 更改进程最大文件句柄数 ulimit -n 1048576 
 修改单个进程可分配的最大文件数 echo 2097152 > /proc/sys/fs/nr_open 
 修改/etc/security/limits.conf文件 * soft nofile 1048576* hard nofile 1048576* soft nproc unlimitedroot soft nproc unlimited 
 记得清理掉/etc/security/limits.d/*下的配置 网络优化 打开/etc/sysctl.conf,添加配置 然后执行,使用sysctl生效 #单个进程可分配的最大文件数 fs.nr_open=2097152 #系统最大文件句柄数 fs.file-max = 1048576 #backlog 设置 net.core.somaxconn=32768 net.ipv4.tcp_max_syn_backlog=16384 net.core.netdev_max_backlog=16384 #可用知名端口范围配置 net.ipv4.ip_local_port_range='1000 65535' #TCP Socket 读写 Buffer 设置 net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=16777216 net.core.wmem_max=16777216 net.core.optmem_max=16777216 net.ipv4.tcp_rmem='1024 4096 16777216' net.ipv4.tcp_wmem='1024 4096 16777216' #TCP 连接追踪设置 net.nf_conntrack_max=1000000 net.netfilter.nf_conntrack_max=1000000 net.netfilter.nf_conntrack_tcp_timeout_time_wait=30 #TIME-WAIT Socket 最大数量、回收与重用设置 net.ipv4.tcp_max_tw_buckets=1048576 # FIN-WAIT-2 Socket 超时设置 net.ipv4.tcp_fin_timeout = 15 
 总结 netty的开发工作并不集中在netty本身,更多体现在保证服务的高可靠性和稳定性上。同时有大量的工作集中在监控和调试,减少bug修复的成本。 深入了解netty是在系统遇到疑难问题时能够深入挖掘进行排查,或者对苛刻的性能进行提升。但对于广大应用开发者来说,netty的上手成本小,死挖底层并不会产生太多收益。 它只是个工具,你还能让它怎样啊。 【编辑推荐】 【责任编辑:武晓燕 TEL:(010)68476606】你没玩过的全新版本Windows 10这些操作你知多少?在Fedora中安装替代版本的RPM包Windows 10系统各版本功能比较说明在Linux中如何从命令行查找VirtualBox版本第一次!Windows 10开始警告旧版本过期
 点赞 0
 (编辑:南平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |