Return-Path: Delivered-To: apmail-camel-dev-archive@www.apache.org Received: (qmail 4506 invoked from network); 21 Sep 2010 13:14:27 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 21 Sep 2010 13:14:27 -0000 Received: (qmail 9588 invoked by uid 500); 21 Sep 2010 13:14:26 -0000 Delivered-To: apmail-camel-dev-archive@camel.apache.org Received: (qmail 9448 invoked by uid 500); 21 Sep 2010 13:14:23 -0000 Mailing-List: contact dev-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list dev@camel.apache.org Received: (qmail 9440 invoked by uid 500); 21 Sep 2010 13:14:22 -0000 Delivered-To: apmail-activemq-camel-dev@activemq.apache.org Received: (qmail 9437 invoked by uid 99); 21 Sep 2010 13:14:22 -0000 Received: from Unknown (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Sep 2010 13:14:22 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Sep 2010 13:14:03 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o8LDDgBX014618 for ; Tue, 21 Sep 2010 13:13:42 GMT Message-ID: <14343115.26471285074822043.JavaMail.jira@thor> Date: Tue, 21 Sep 2010 09:13:42 -0400 (EDT) From: "Stephan Siano (JIRA)" To: camel-dev@activemq.apache.org Subject: [jira] Commented: (CAMEL-3123) Performance/scalability issue for converter lookup In-Reply-To: <33117715.16081284470860364.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: ae95407df07c98740808b2ef9da0087c X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/activemq/browse/CAMEL-3123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=61965#action_61965 ] Stephan Siano commented on CAMEL-3123: -------------------------------------- I tried it, but the UUID generator does not seem to play a role for my scenario. I tried both the initial servlet -> http processing as well as a jetty -> http processing. The result remained at 3900 messages per second for the servlet -> http case and changed from 4430 to 4450 messages per second in the jetty -> http test, but that is pretty within the error margin for these measurements. (The info level log was there so the UUID generator was loaded). If these scenarios uses UUIDs at all, the type of the generator does not seem to affect the performance even for this scenario. > Performance/scalability issue for converter lookup > -------------------------------------------------- > > Key: CAMEL-3123 > URL: https://issues.apache.org/activemq/browse/CAMEL-3123 > Project: Apache Camel > Issue Type: Improvement > Components: camel-core > Affects Versions: 2.4.0 > Environment: Camel 2.4.0 on apache karaf 2.0.0 > Reporter: Stephan Siano > Assignee: Claus Ibsen > Fix For: 2.5.0 > > > In a simple HTTP->HTTP proxy scenario (whith a Jetty or a servlet endpoint, that does not matter) I observe a very severe performance regression between Camel 2.2.0 (as in servicemix 4.2) and camel 2.4.0 running on a apache karaf 2.0.0 OSGi stack. On the same hardware I get a throughput of 3500 messages per second with Camel 2.2.0, but only 210 messages per second on Camel 2.4.0 (both servlet->HTTP). If I replace the http endpoint with a log endpoint the throughput will be about 1500 messages per second in both cases. > I have done some profiling for this: The active CPU times as shown in the profiler remain approximately the same for both versions, however if I monitor wait times, I get very long wait times for org.apache.camel.impl.DefaultMessage.getHeader(java.lang.String,java.lang.Class) calls. If I break this down I see the java.beans.PropertyEditorManager.findEditor(java.lang.Class) call in org.apache.camel.impl.converter.PropertyEditorTypeConverter.convertTo(java.lang.Class,java.lang.Object). The findEditor() method is synchronized and initializes some class loading which takes some time. > Why is it necessary to instantiate the type converter for each message? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.