首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提高JbossFuse (v6.3) DSL路由代码的性能?

如何提高JbossFuse (v6.3) DSL路由代码的性能?
EN

Stack Overflow用户
提问于 2017-11-16 16:12:10
回答 1查看 79关注 0票数 0

应用程序信息:

下面的代码:从IBM队列读取,然后将消息发布到REST服务

从MQ队列读取(note:是一个快速的问题,并且不是的问题-而是post操作性能我在改进中遇到了问题).

问题:

每秒无法输出或发送超过44-47条消息.

问题:

如何提高以下JbossFuse (v6.3) DSL路由代码的性能?(有哪些技术可以使它更快?)

代码语言:javascript
复制
package aaa.bbb.ccc;

import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.cdi.ContextName;

@ContextName("rest-dsl")
public class Netty4HttpSlowRoutes extends RouteBuilder {

    public Netty4HttpSlowRoutes() {
    }

    private final org.apache.camel.Processor proc1 = new Processor1();    

    @Override
    public void configure() throws Exception {

    org.apache.log4j.MDC.put("app.name", "netty4HttpSlow");

    System.getProperties().list(System.out);
    errorHandler(defaultErrorHandler().maximumRedeliveries(3).log("***FAILED_MESSAGE***"));   

    from("wmq:queue:mylocalqueue")
        .log("inMessage=" + (null==body()?"":body().toString()))
        .to("seda:node1?concurrentConsumers=20");

    from("seda:node1")
        .streamCaching()
        .threads(20)
        .setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST))
        .setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
        .toD("netty4-http:http://localhost:7001/MyService/myServiceThing?textline\\=true");      
    }           
}
EN

回答 1

Stack Overflow用户

发布于 2017-11-17 10:05:26

只是几个想法。第一件事是:你测量了慢度吗?您在Camel上花费了多少时间,而发送HTTP请求花费了多少时间?

如果休息时间很慢,你在骆驼里什么也做不了。根据服务的功能,您可以尝试减少线程的数量。

尝试禁用streamCaching,因为它看起来像是您没有使用它。

然后使用to而不是toD来调用服务,我看到URL始终是相同的。在ToD博士中我读到

默认情况下,使用简单语言计算端点。

每次调用路由时,解析URI字符串时可能会有一些开销。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47334322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档