2017-11-16 4 views
0

APPLICATION INFO:JbossFuse(v6.3)DSLルートコードのパフォーマンスを向上させるにはどうすればよいですか?

以下のコード:IBM MQキューから読み出して、RESTサービスに

をメッセージをポスト(ノート:MQキューからの読み出しが高速で、ありません問題 - むしろ、投稿操作性能改善中)

問題:

出力することができない/秒以上の44-47メッセージを投稿...

QUESTION:

どのように私はJbossFuseのパフォーマンスを向上させることができます(v6.3)DSLのルートコードは?... (どのようなテクニックを利用すれば高速化できますか?)

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");  
    }   
} 
+0

MQからのメッセージを読んだり、RESTサービスに投稿したりしているのですか? – JoshMc

+0

残りのサービスに転記してください。 mqの読み込みは高速です。 – sairn

+0

私はMQ Adminですので、RESTサービスの終了時にあなたにアドバイスはありません。 – JoshMc

答えて

0

ちょっと考えました。最初のものが最初に:あなたは遅さを測定しましたか?どのくらいの時間Camel VSでHTTPリクエストを送信するのに費やしますか?
RESTサービスが遅い場合は、Camelで何もできません。サービスの内容によっては、スレッド数を減らすことができます。

あなたが使っていないように見えるので、streamCachingを無効にしてみてください。

toDの代わりにtoを使用してサービスを呼び出すと、URLが常に同じであることがわかります。 docs of ToDを読みました

デフォルトでは、単純言語がエンドポイントを計算するために使用されます。

ルートを呼び出すたびにURI文字列を解析する際に、少しオーバーヘッドが発生することがあります。

+0

こんにちはアレッサンドロ - 私はJBoss Fuse、ラクダの青写真を初めて習得しました。私は、実際のコードの大まかなモデルを投稿しました。これによって、system.propertiesがURL値を取得するために使用されます。つまり、 "ToD"です。元のコードには、 "streamCaching"が役立つと思った "process()"メソッドもあります(?)。キューは非常に速く排水されます。 「ボトルネック」は、RESTポストリクエスト(?)に焦点を当てているようです。 RESTリクエストを「スプレー」する方法があるのか​​どうか疑問に思っていますか?質問:camel-netty4-httpはパフォーマンスにとって正しい選択ですか? (再び、私はラクダの青写真を使っています)。どうも! – sairn

関連する問題