本文作者张彦飞,原题“聊聊TCP连接耗时的那些事儿”,首次发布于公众号“开发内功修炼”(链接是:mp.weixin.qq.com/s/wXyerOFoibRsaBmbl224gw),本次收录已征得作者同意,转载请联系作者。即时通讯网收录时有少许改动。
1.png (26.65 KB, 下载次数: 1562)
下载附件 保存到相册
3 年前 上传
2.png (19.71 KB, 下载次数: 1338)
3.png (27.43 KB, 下载次数: 1392)
4.png (41.11 KB, 下载次数: 1287)
一个RTT指的是包从一台服务器到另外一台服务器的一个来回的延迟时间。
5.jpg (67.81 KB, 下载次数: 1285)
6.jpg (37.74 KB, 下载次数: 1251)
7.jpg (45.75 KB, 下载次数: 1249)
8.png (44.47 KB, 下载次数: 1497)
$ watch 'netstat -s | grep LISTEN' 8 SYNs to LISTEN sockets ignored
$ watch 'netstat -s | grep overflowed' 160 times the listen queue of a socket overflowed
# cat /proc/sys/net/ipv4/tcp_max_syn_backlog 1024 # echo "2048" > /proc/sys/net/ipv4/tcp_max_syn_backlog
# cat /proc/sys/net/core/somaxconn 128 # echo "256" > /proc/sys/net/core/somaxconn
$ ss -nlt Recv-Q Send-Q Local Address:Port Address:Port 0 128 *:80 *:*
<?php $ip = {服务器ip}; $port = {服务器端口}; $count = 50000; function buildConnect($ip,$port,$num){ for($i=0;$i<$num;$i++){ $socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP); if($socket ==false) { echo "$ip $port socket_create() 失败的原因是:".socket_strerror(socket_last_error($socket))."\n"; sleep(5); continue; } if(false == socket_connect($socket, $ip, $port)){ echo "$ip $port socket_connect() 失败的原因是:".socket_strerror(socket_last_error($socket))."\n"; sleep(5); continue; } socket_close($socket); } } $t1 = microtime(true); buildConnect($ip, $port, $count); echo (($t2-$t1)*1000).'ms';
# echo "5000 65000" /proc/sys/net/ipv4/ip_local_port_range
9.png (15.63 KB, 下载次数: 1288)
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
引用此评论
引用:Gangan_Master 发表于 2020-12-14 17:37 又等到神仙的文章了
引用:默默 发表于 2020-12-26 00:39 标记位 写成标记侠了
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.125000 second(s), 42 queries , Gzip On.