加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

一次简单的 HTTP 调用,为什么时延这么大?抓个包分析下

发布时间:2019-07-16 07:22:29 所属栏目:教程 来源:Java高级技术架构
导读:1.最近项目测试碰着个稀疏的征象,在测试情形通过 Apache HttpClient 挪用后端的 HTTP 处事,均匀耗时居然靠近 39.2ms。也许你乍一看认为这不是很正常吗,有什么好稀疏的?着实否则,我再来说下一些根基信息,该后端的 HTTP 处事并没有什么营业逻辑,只是将

在后端 HTTP 处事,加上启动"-Dsun.net.httpserver.nodelay=true"参数,再试试。结果很明明,均匀耗时从39.2ms 降到 2.8ms。

一次简朴的 HTTP 挪用,为什么时延这么大?抓个包说明下

题目是办理了,可是到这里假如你就此止步,那就太自制了这个案例了,的确暴殄天物。由于尚有一堆迷惑等着你呢?

为什么加了 TCP_NODELAY ,时延就从 39.2ms 低落到 2.8ms?

为什么当地测试的均匀时延是 55ms,而不是 ping 的时延 26ms?

TCP 协议毕竟是怎么发送数据包的?

来,我们接着乘热打铁。

5. 解惑

5.1 TCP_NODELAY 何许人也?

在 Socket 编程中,TCP_NODELAY 选项是用来节制是否开启 Nagle 算法。在 Java 中,为 ture 暗示封锁 Nagle 算法,为 false 暗示打开 Nagle 算法。你必然会问 Nagle 算法是什么?

5.2 Nagle 算法是什么鬼?

Nagle 算法是一种通过镌汰通过收集发送的数据包数目来进步 TCP/IP 收集服从的要领。它行使发现人 John Nagle 的名字来定名的,John Nagle 在 1984 年初次用这个算法来实行办理福特汽车公司的收集拥塞题目。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读