从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数据包,那服务器就会不断的重试发送数据包,直到超时。 (编辑:湘西站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 通过Internet在Windows上安装Linux文件系统的最佳方法?
- windows-7 – Windows部署服务的远程管理控制台
- 修复Ubuntu中 “E: The package cache file is corrupted,
- 系统之家win10系统下载64位地址
- 将键盘事件发送到不处理Windows事件的C#中的另一个应用程序
- 如何通过HDMI将Windows 10笔记本电脑连接到电视或投影仪
- 告别Windows 10越升越卡 Windows 10专业工作站版简单上手
- 10年架构师经典总结:Zookeeper学习之原理
- 你能通过命令行更改Windows更新设置吗?
- Windows11 第三方小工具可完成任务栏拖放打开文件功能