socke了解 内核调用timeITeye - 千亿集团

socke了解 内核调用timeITeye

2019年03月24日09时13分53秒 | 作者: 雨珍 | 标签: 衔接,能够,服务器 | 浏览: 1336

 

1. 请问咱们所说衔接池能够复用衔接,是不是意味着,需求比及上个衔接time wait完毕后才干再次运用?

所谓衔接池复用,复用的一定是活泼的衔接,所谓活泼,榜首标明衔接池里的衔接都是ESTABLISHED的,第二,衔接池做为上层运用,会有守时的心跳去坚持衔接的活泼性。已然衔接都是活泼的,那就不存在有TIME_WAIT的概念了,在上篇里也有说到,TIME_WAIT是在自动封闭衔接的一方,在封闭衔接后才进入的状况。已然现已封闭了,那么这条衔接必定现已不在衔接池里边了,即被衔接池释放了。

 

2. 想请问下,作为负载均衡的机器随机端口运用完的情况下许多time_wait,不调整你文字里说的那三个参数,有其他的更好的计划吗?

榜首,随机端口运用完,你能够经过调整/etc/sysctl.conf下的net.ipv4.ip_local_port_range装备,至少修改成 net.ipv4.ip_local_port_range=1024 65535,确保你的负载均衡服务器至少能够运用6万个随机端口,也即能够有6万的反向代理到后端的衔接,能够支撑每秒1000的并发(想一想,由于TIME_WAIT状况会继续1分钟后消失,所以一分钟最多有6万,每秒1000);假如这么多端口都运用完了,也证明你应该加服务器了,或许,你的负载均衡服务器需求装备多个IP地址,或许,你的后端服务器需求监听更多的端口和装备更多的IP(想一下socket的五元组)

第二,许多的TIME_WAIT,多许多?假如是几千个,其实不必忧虑,由于这个内存和CPU的耗费有一些,可是是能够疏忽的。

第三,假如真的量很大,上万上万的那种,能够考虑,让后端的服务器自动封闭衔接,假如后端服务器没有外网的衔接只要负载均衡服务器的衔接(主要是没有NAT网络的衔接),能够在后端服务器上装备tw_recycle,然后一起,在负载均衡服务器上,装备tw_reuse。

 

3. 假如想深化的学习一下网络方面的常识,有什么引荐的?

学习网络比学一门编程言语“难”许多。所谓难,其实,是由于需求花许多的时刻投入。我自己不算通晓,只能说入门和了解。基本书能够引荐:《TCP/IP 协议详解》,必读;《TCP/IP高效编程:改进网络程序的44个技巧》,必读;《Unix环境高档编程》,必读;《Unix网络编程:卷一》,我只读过卷一;别的,还需求了解一下网络工具,tcpdump以及wireshark,我的notes里有一个一站式学习Wireshark:https://github.com/dafang/notebook/issues/114,也值得一读。有了这些堆集,或许便是一些实践以及碎片化的学习和堆集了。

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表千亿集团立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章