当前位置: 首页 > news >正文

直邮网站的推广活动怎么做网上推广怎么拉客户

直邮网站的推广活动怎么做,网上推广怎么拉客户,站群wordpress,asp网站开发移动端Nagle算法简介 Nagle算法主要是避免发送小的数据包,要求TCP连接上最多只能有一个未被确认的小分组,在该分组的确认到达之前不能发送其他的小分组。 在默认的情况下,Nagle算法是默认开启的,Nagle算法比较适用于发送方发送大批量的小数据&…

Nagle算法简介

Nagle算法主要是避免发送小的数据包,要求TCP连接上最多只能有一个未被确认的小分组,在该分组的确认到达之前不能发送其他的小分组。

在默认的情况下,Nagle算法是默认开启的,Nagle算法比较适用于发送方发送大批量的小数据,并且接收方作出及时回应的场合,这样可以降低包的传输个数。

但是如果你的程序是 write-write-read 模式,在使用了Nagle算法后,第二个 write 就会被推后一个RRT发送而造成一个很长的ack等待,从而产生一个延迟。为了避免这种情况,一般建议在应用层做缓冲,将两个write合在一起,成为 write-read

代码分析

我们通过一个例子观察下Nagle算法的延迟

  • 服务器端代码:recipes/tpc/nodelay_server.cc
  • 客户端代码:recipes/tpc/nodelay.cc

客户端代码

// ...... 仅展示出部分代码if (tcpnodelay){// 设置tcp TCP_NODELAYstream->setTcpNoDelay(true);printf("connected, set TCP_NODELAY\n");}else{stream->setTcpNoDelay(false);printf("connected\n");}for (int n = 0; n < num; ++n){printf("Request no. %d, sending %d bytes\n", n, len);if (buffering){std::vector<char> message(len + sizeof len, 'S');memcpy(message.data(), &len, sizeof len);int nw = stream->sendAll(message.data(), message.size());printf("%.6f sent %d bytes\n", now(), nw);}else{// 先发送头 在发送数据 验证Nagel算法stream->sendAll(&len, sizeof len);printf("%.6f sent header\n", now());usleep(1000); // prevent kernel merging TCP segmentsstd::string payload(len, 'S');int nw = stream->sendAll(payload.data(), payload.size());printf("%.6f sent %d bytes\n", now(), nw);}}

上面可以看出,正常下我们开启Nagel,并发送header和data两个数据包,我们还可以合并header和data,将其合成一个包发送,此外,我们还可以设置TCP_NODELAY选项。

测试

环境:两台桥联的虚拟机
我们使用ping命令测试一下两台机器正常情况下的延迟

wang@localhost tpc]$ ping 192.168.1.104
PING 192.168.1.104 (192.168.1.104) 56(84) bytes of data.
64 bytes from 192.168.1.104: icmp_seq=1 ttl=64 time=4.30 ms
64 bytes from 192.168.1.104: icmp_seq=2 ttl=64 time=4.08 ms
64 bytes from 192.168.1.104: icmp_seq=3 ttl=64 time=4.26 ms
64 bytes from 192.168.1.104: icmp_seq=4 ttl=64 time=3.06 ms
64 bytes from 192.168.1.104: icmp_seq=5 ttl=64 time=3.77 ms
^C
--- 192.168.1.104 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4016ms
rtt min/avg/max/mdev = 3.064/3.900/4.307/0.459 ms

大概在4ms左右

开启Nagle发送两个数据包
[wang@localhost tpc]$ ./nodelay 192.168.1.104 3210
connecting to 192.168.1.104:3210
connected
Request no. 0, sending 3210 bytes
1715777496.470708 sent header
1715777496.478341 sent 3210 bytes
Sent all 1 requests, receiving responses.
1715777496.483114 received 4 bytes, ack = 3210
total 0.013132 seconds

大概在13ms左右

关闭Nagle发送两个数据包
[wang@localhost tpc]$ ./nodelay -D 192.168.1.104 3210
connecting to 192.168.1.104:3210
connected, set TCP_NODELAY
Request no. 0, sending 3210 bytes
1715777794.851212 sent header
1715777794.855121 sent 3210 bytes
Sent all 1 requests, receiving responses.
1715777794.856854 received 4 bytes, ack = 3210
total 0.006093 seconds

可以看见,关闭Nagel后,延迟大约6ms左右

开启Nagel合并发送一个数据包
[wang@localhost tpc]$ ./nodelay -b 192.168.1.104 3210
connecting to 192.168.1.104:3210
connected
Request no. 0, sending 3210 bytes
1715778177.438170 sent 3214 bytes
Sent all 1 requests, receiving responses.
1715778177.441433 received 4 bytes, ack = 3210
total 0.004178 seconds

因为只发送一个,延迟跟ping差不多,大概4ms左右

http://www.15wanjia.com/news/161541.html

相关文章:

  • 永春县建设局网站论文中引用网站中
  • 浙江省建设工程监理管理协会网站网页源码提取工具
  • html5 网站布局应用教程山东电力建设第一工程公司网站
  • 广州有做网站的公司吗注册公司条件有哪些
  • 长沙租车网站排名中山 做网站
  • 无锡网站制作推广公司seo如何去做优化
  • 唐山做网站名创 网站建设
  • 网站建设分金手指排名二五济南专业网站制作
  • 网站编辑面试问题和答案泰安关键词优化公司
  • 主题公园网站建设用c 做的网站怎么打开吗
  • 网站开发计划书封面有没有做任务给钱的网站
  • 国外h5网站模板下载红安县城乡建设局官方网站
  • 网站一般用什么做的营销网站制作费用
  • 虚拟机wordpress建站今天的新闻直播间
  • 杭州酒店网站建设建网站浩森宇特
  • 一些做淘宝优惠券的网站安徽省建设厅八大员报名网站
  • 外贸如何做网站推广建设工程施工合同范本2017下载
  • 什么样的网站利于百度优化高校网站建设管理办法
  • 湖南网站制作哪家专业哈尔滨企业建站服务商
  • net网站开发net网站开发企业网站建设 推广
  • 公司标志logo设计图片南京百度搜索优化
  • 茂名市城市建设档案馆网站潘家园做网站的公司
  • 网站开发怎么连接sqlserver百万综合文字论文网址的内容
  • 网站建设职员免费推广平台排行榜
  • 阳江城乡建设部网站首页广州建设工程交易中心南沙交易部
  • 济南网站建设 荐搜点网络做网站的软件著作权
  • 制作网站书签怎么做小程序开发源码
  • 阿里云备案成功怎么建设网站python 网站开发 sae
  • 建设网站要服务器吗做电影网站用什么软件
  • 网站开发的平台如何建设网站兴田德润实惠