TCP的可优化点:
1.TCP三次握手增加了整整一次的往返时间
2.TCP慢启动将被应用到每一个新连接
3.TCP流量及拥塞控制会影响所有的连接吞吐量
4.TCP的吞吐量由当前拥塞窗口大小控制
结论:现代TCP连接的数据传输速度,往往受到接收端和发送端之间往返时间的限制,在大多数情况下TCP的瓶颈是延迟而非带宽
为了使每个连接具有较低的延迟和较高的吞吐量,在TCP这一层我们可以这样做:
1.使用最新的操作系统(内核)
2.增加TCP初始拥塞窗口:让TCP在第一次往返就传输较多的数据,随后的速度提升也会明显
3.在连接空闲时禁用慢启动:这样可以提升TCP长连接瞬时发送数据的性能
4.增大最大接收窗口:让高延迟的连接达到更好的吞吐量
5.TCP快速打开:在发送第一个syn时,发送应用程序数据,需要客户端和服务器同时支持
性能优化清单:
• 把服务器内核升级到最新版本(Linux:3.2+)
• 确保 cwnd 大小为 10;
• 禁用空闲后的慢启动;
• 确保启动窗口缩放;
• 减少传输冗余数据;
• 压缩要传输的数据;
• 把服务器放到离用户近的地方以减少往返时间(CDN);
• 尽最大可能重用已经建立的 TCP 连接。
分享到:
相关推荐
具体内容包括:基于用户体验的性能优化要素、前端性能优化实战、网站性能分析、服务端性能优化、TCP优化、DNS优化、CDN优化、大型网站性能监控体系、大型网站容量评估、高性能系统架构模式、大促保障体系、数据分析...
TCP协议优化思路,优化后能够明显的提升网络性能,效果显著
嵌入式Linux 3G无线路由器TCP_IP性能优化.pdf
针对TCP(Transmission Control Protocol)协议在卫星通信网络中的局限性,通过三个方面对TCP进行性能优化改进,对于性能增强代理的方案进行性能分析,最后的推荐方案为通过在信关站和用户终端处设置性能增强代理,性能...
Uni-App,从了解到开发,相信大家都会觉得Uni-App性能不好,其实也这是非原生的弊病。React Native、Flutter等,非原生框架,性能上都会或多或少的折损。但各个框架,都会做出性能提升建议,所以开发者在开发前,多...
MTU、TCP、UDP
linux 文件系统 网络性能 参数优化 linux 文件系统 网络性能 参数优化 linux 文件系统 网络性能 参数优化
优化Linux的TCP_IP协议栈性能.pdf
要资源,高效地使用TCP发送缓冲区是提高HTTP服务性能 的一个有效方法[1]。随着Internet的发展,在其上运行的 HTTP服务器也以极快的速率增加。每个HTTP服务器每时每 刻要处理成百上千的HTTP请求,每个HTTP请求都要在...
此配置是老男孩生产线上使用的配置,这配置已经优化的不错了,如果你的mysql没有什么特殊情况的话,可以直接使用该配置参数 对各参数添加了中文说明 ======= back_log = 600 #在MYSQL暂时停止响应新请求之前,短...
TCP服务器与多个客户端通信
作为一个TCP协议的性能评测工具,Tcpdive提供了大量的性能指标,从以下维度来对每条TCP连接进行刻画: 传输情况 丢包和重传 拥塞控制 HTTP处理 传输: 损失和重传: 拥塞...
在开发过程中,我们经常会用到TCP/IP连接实现即时数据传输,下面这篇文章主要给大家介绍了关于Android端TCP长连接的性能优化的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧...
我们现在站在性能优化的角度,一起简单地复习一遍这个经典的过程:首先我们需要通过 DNS(域名解析系统)将 URL 解析为对应的 IP 地址,然后与这个 IP 地址确定的那台服务器建立起 TCP 网络连接,随后我们向服务端抛...
MySQL服务器性能优化全文共3页,当前为第1页。MySQL服务器性能优化全文共3页,当前为第1页。 MySQL服务器性能优化全文共3页,当前为第1页。 MySQL服务器性能优化全文共3页,当前为第1页。 MySQL服务器性能优化 MySQL...
提高 Linux 上 socket 性能 加速网络应用程序的 4 种方法。修改socket参数和TCP/IP相关参数设置,从而适应各自业务提高网络性能。
SQLServer安全及性能优化 修补漏洞 安装程序补丁修补漏洞 随时关注微软官方网站补丁升级 关闭不必要的端口 关闭联必要的服务 数据库引擎 SQL Server Analysis Services SQL Server Reporting Services SQL ...
我们现在站在性能优化的角度,一起简单地复习一遍这个经典的过程:首先我们需要通过 DNS(域名解析系统)将 URL 解析为对应的 IP 地址,然后与这个 IP 地址确定的那台服务器建立起 TCP 网络连接,随后我们向服务端抛...