空测试 localhost http 的瓶颈都在CPU。

本文探讨了localhost HTTP测试中遇到的瓶颈主要在于CPU,而非网络带宽。通过分析内存速度、TCP滑动窗口及CPU处理socket事件的时间,得出在理想情况下,CPU成为限制HTTP请求处理速度的关键因素。
摘要由CSDN通过智能技术生成

分享一下我的看法。很有意思,如果有时间,我感觉可以写一篇理论计算文章。不过我可以先去,stackoverflow, 看看能不能钓一篇其他人的分析.

空测试 localhost http 的瓶颈都在CPU。

为什么这样说,

1. localhost 的带宽的上限是内存的上限。
我们假设内存可以 20000m/s 的写入和读取。
localhost的一个RTT,我们假设1ms,那么带宽上限就是20000m/1ms = 20,000,000 m/s。

2. tcp 的滑动窗口
不是你带宽有多高,tcp就能发多快的。在开启 net.ipv4.tcp_window_scaling, 可以带到1GB。那么假设RTT 延迟 1ms。那么我们带宽上限就是
1024m/1ms = 1,024,000 m/s

所有我们得出,我们的带宽上限是 1,024,000 m/s

如果假设我们一个 http 的请求是 10kb,如果达到带宽上限,我们 qps 应该是 1,024,000 m/10kb = 100,024,000 /s. 天文数字。

3. 让我们假设我们 CPU 处理一个 socket 事件的时间是 1us(已经是很快了)
那么 1s 可以处理多少请求的呢, 1s/1us = 1,000,000 /s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茉莉清茶LG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值