【发布时间】:2026-01-08 02:40:01
【问题描述】:
我有一个 Java 应用程序(基于 dropwizard),它接受 HTTP 请求,执行一些内存计算并返回 HTTP 响应。
我有另一个 java 应用程序 (jmeter),它通过发送带有随机参数的请求来对第一个应用程序进行负载测试。
当我运行测试时(测试和应用程序都在同一台笔记本电脑上),我的性能很差:吞吐量很低(每秒 25 个请求 (rps)),延迟很高(150 毫秒)。有趣的是,应用程序的 CPU 使用率也很低(10%)。看起来应用程序花费了很多时间等待网络调用。
但是当其他一些网络活动(不是全部,播放 YouTube 视频无济于事)时,例如当我进行 Skype 通话或打开本地自动刷新grafana 仪表板时,情况会发生变化。应用程序的 CPU 使用率增加到 50%,吞吐量增加到 70-90 rps,延迟减少到 50 毫秒。
似乎不相关的网络活动以某种方式加速了应用程序和测试之间的网络调用。任何人都可以解释这种行为吗?
Win 10,Java 8。
【问题讨论】:
标签: java windows networking loopback