从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数据包,那服务器就会不断的重试发送数据包,直到超时。 (编辑:濮阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-7 – 从Windows 7通过Webdav连接?
- 如何检查Windows10 PC是否具有内置蓝牙
- windows – 在PowerShell中获得管理员权限
- Windows 11频发MSI崩溃难题 微软紧急推送补丁修复
- windows-server-2003 – 在潜在的恶意网络上保护Active Dir
- 程序员之Linux必会必知
- windows – 如何检测人工鼠标移动?
- windows-server-2008 – 无法联系此域的Active Directory域
- 迄今为止把同步/异步/阻塞/非阻塞/BIO/NIO/AIO讲的这么清楚
- windows-7 – 如何在Windows 7中使用PowerShell或命令行打开
- windows-server-2003 – 通过组策略推送新的注册
- 如何在Windows 10中重置应用程序音量和设备首选项
- 如何完全禁用Windows 10中的Windows Defender
- Windows 10终于拿下了操作系统市场的半壁江山
- 微软的“Andromeda”和“Polaris” 要被Santorin
- 简单的Windows Linux服务器配置? Chef / Puppet
- windows-server-2000 – 如何在Windows 2000服务
- microsoft-office – OpenOffice可以取代MS Offi
- Win10系统在开始菜单中显示自己的照片的方法
- 值得每个程序员了解,操作系统的底层核心知识,页