从TCP/IP协议谈Linux内核参数优化
副标题[/!--empirenews.page--]
在硬件资源有限的情况下,最大的压榨服务器性能,提高服务器的并发处理能力,是很多技术人员思考的问题,除了优化Nginx/PHP-FPM/Mysql/Redis这类服务软件配置外,还可以通过修改Linux的内核相关TCP参数,来最大的提高服务器性能。 在Linux内核参数优化之前,我们需要先搞懂TCP/IP协议,这是我们实施优化的理论依据。 TCP/IP协议 TCP/IP协议是十分复杂的协议,完全掌握不是一件容易的事情,但作为基本知识,我们必须知道TCP/IP协的三次握手和四次挥手的逻辑过程。 三次握手 所谓三次握手是指建立一个 TCP 连接时需要客户端和服务器端总共发送三个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发。 三次握手流程图: ![]() 三次握手流程
四次挥手 四次挥手即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发。 由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。首先进行关闭的一方将执行主动关闭,而另一方则执行被动关闭。 四次挥手的流程图: ![]() 四次挥手流程
序列号与确认应答 大家都知道TCP/IP协议是以一种高可靠的通信协议,通过序列号与确认应答来保障通信高可靠,有如下几个关键点:
TCP/IP协议缺陷 了解了TCP/IP协议之后,我们就会发现几个问题: 在三次握手中,如果客户端发起第一次握手后就中断或者不响应服务器发回的ACK=1数据包,那服务器就会不断的重试发送数据包,直到超时。 (编辑:咸宁站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Win7系统GWXUX终止运行怎么办
- windows-server-2012 – 使用远程桌面的最大登录用户数
- Windows NTP服务器A Stratum为2,Windows NTP Server B Stra
- 使用这些解决方案修复Windows 10激活错误0x87e10bc6
- Win7系统pci.sys文件损坏丢失无法启动怎么解决?
- windows-server-2003 – Win2k3终端服务ErrorID 7024
- 戴尔电脑系统重装win7的方法流程
- 全球操作系统市场6月数据:Windows 10占主导 但增长有限
- windows – 记录学校的电脑和网络(自愿)
- 这波操作不错——你真的会高效的在GitHub搜索开源项目吗?