sách gpt4 ai đã đi

apache-camel - 与 camel-jetty 和 camel-servlet 相比,Camel-reSTLet 的性能更好——有什么具体原因吗?

In lại 作者:行者123 更新时间:2023-12-05 07:30:28 29 4
mua khóa gpt4 Nike

我创建了一个 spring-boot 应用程序,我在其中使用 camel-reSTLet 组件将我的 camel 路由公开为 rest 端点。

我的 camel 路由很简单:它们接受来自北向休息端点的请求,进行请求处理,通过 camel-netty4-http 组件调用另一个南向休息端点,处理响应并将其发送回北向。

现在我正在使用 JMeter 进行性能分析。我观察到使用 10 个线程时,我的 Camel 路由性能(平均延迟 220 毫秒和吞吐量 ~38)与我通过 JMeter 直接调用相同的南向休息端点时从 JMeter 获得的结果相匹配(平均延迟 210 毫秒和吞吐量~39) .

但是当我在 Jmeter 中将线程数从 10 增加到 100 或更多时,结果很奇怪:

  • 当我直接调用南向休息端点时:延迟 2230 毫秒和吞吐量 ~20
  • 当我通过 Camel 路线调用同一个南行休息终点时,延迟为 230 毫秒,吞吐量约为 38。

我通过将其余组件从 camel-reSTLet 更改为 camel-servelet、camel-jetty 进行了相同的测试,结果与我通过 JMeter 直接调用南向休息端点时从 JMeter 获得的结果相匹配(平均延迟2230 毫秒 & 吞吐量 ~20)。

谁能帮助我理解与其他 camel 组件(camel-jetty 或 camel-servlet)相比,camel-reSTLet 组件获得更好性能的原因?

1 Câu trả lời

camel-reSTLet默认是异步的,更适合你的测试。您可以将端点上的选项 synchronous=true 设置为相同的条件。


http://camel.apache.org/restlet.html

或者在 camel servlet 上启用异步:

 
CamelServlet
Camel Http Transport Servlet
org.apache.camel.component.servlet.CamelHttpTransportServlet
async true
1
true

您也可以尝试 netty4 端点(您已经将其用作客户端),它是完全响应式(Reactive)的并且可以处理大型并发连接。


http://camel.apache.org/netty4-http.html

关于apache-camel - 与 camel-jetty 和 camel-servlet 相比,Camel-reSTLet 的性能更好——有什么具体原因吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52271939/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com