栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么我的Hello World go服务器被ApacheBench压碎了?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么我的Hello World go服务器被ApacheBench压碎了?

简而言之,您的端口已用完。

osx上的默认临时端口范围是49152-65535,只有16,383个端口。由于每个

ab
请求都是
http/1.0
(在第一个示例中没有keepalive),所以每个新请求都占用另一个端口。

使用每个端口时,它将放入队列中,等待tcp“ Maximum Segment
Lifetime”(在osx上配置为15秒)。因此,如果您在15秒钟内使用了16,383个以上的端口,则您的操作系统实际上将受到进一步连接的限制。根据哪个进程首先用尽端口,您将从服务器获得连接错误,或者从挂起

ab

您可以使用

http/1.1
功能强大的负载生成器(例如
wrk
)或对的keepalive(
-k
)选项来减轻这种情况
ab
,以便根据工具的并发设置重用连接。

现在,您要进行基准测试的服务器代码执行得很少,以至于负载生成器的负担与服务器本身一样多,本地操作系统和网络堆栈可能会起到很大的作用。如果要对http服务器进行基准测试,最好从不在同一台计算机上运行的多个客户端进行一些有意义的工作。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375432.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号