【发布时间】:2019-02-15 17:21:37
【问题描述】:
我创建了一个 spring-boot 应用程序,我在其中使用 camel-restlet 组件将我的骆驼路由公开为休息端点。
我的骆驼路由很简单:他们接受来自北向休息端点的请求,进行请求处理,通过camel-netty4-http组件调用另一个南向休息端点,处理响应并将其发送回北向。
现在我正在使用 JMeter 进行性能分析。我观察到,使用 10 个线程时,我的骆驼路由性能(平均延迟 220 毫秒和吞吐量 ~38)与我通过 JMeter 直接调用同一个南行休息端点时从 JMeter 获得的结果相匹配(平均延迟 210 毫秒和吞吐量 ~39) .
但是当我在 Jmeter 中将线程数从 10 增加到 100 或更多时,结果很奇怪:
- 当我直接调用南向休息端点时:延迟 2230 毫秒 & 吞吐量 ~20
- 当我通过骆驼路线呼叫同一个南行休息端点时,延迟为 230 毫秒,吞吐量约为 38。
我做了同样的测试,只是将其余组件从 camel-restlet 更改为 camel-servelet、camel-jetty,结果与我在通过 JMeter 直接调用南行休息端点时从 JMeter 获得的结果相匹配(平均延迟2230 毫秒和吞吐量 ~20)。
与其他骆驼组件(camel-jetty 或camel-servlet)相比,谁能帮助我了解使用camel-restlet 组件获得更好性能的原因?
【问题讨论】:
-
其他用户将您的问题标记为低质量和需要改进。我重新措辞/格式化您的输入,使其更易于阅读/理解。请查看我的更改以确保它们反映您的意图。如果您对我有其他问题或反馈,请随时给我留言。
-
有趣的问题,但如果您添加一些示例代码,它可能会有所帮助(请参阅minimal reproducible example)。
标签: apache-camel restlet