You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Oleksandr Rudyy <or...@gmail.com> on 2017/02/28 13:10:41 UTC

Performance degradation with Qpid JMS Client 0.20.0

Hi all,

After upgrading Qpid JMS Client from version 0.11.0 to version 0.20.0
our performance test results  dropped approximately on 20-25% in the
performance tests testing transaction performance with trunk version
of Qpid Java Broker.

Changing client back to v0.11.0 and re-running the tests yields me the
same results as before the upgrade.

What changes on the client could be the reason for a performance drop?

The performance test creates 10 publishing connections and 10
consuming connections. They produce/consume every message in separate
transactions. The consumer is synchronous. Each pair of producer and
consumer uses its own queue.

Kind Regards,
Alex

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Performance degradation with Qpid JMS Client 0.20.0

Posted by Timothy Bish <ta...@gmail.com>.
This should be fixed now and will be part of the next release.
https://issues.apache.org/jira/browse/QPIDJMS-269

On 03/01/2017 12:29 PM, Oleksandr Rudyy wrote:
> Hi Tim,
>
> Please find attached a sample application testing transaction
> throughput for one publishing and one consuming connections.
> By running it on my machine I see a difference in performance of ~15%
> between 0.11.0 and 0.20.0.
>
> Our performance test suite uses 10 publishing and 10 consuming
> connections. The difference in performance is a bit bigger with it.
>
> Btw, you can run the suite from qpid-java project using
>
> mvn integration-test -f ./perftests/pom.xml -DskipTests=true \
> -Dperftests=qpid-jms-client  -Dqpid.disttest.duration=20000   \
> -Dperftests.hillclimb=true -Dperftests.hillclimb.minimum_delta=100
> -Dperftests.hillclimb.max_runs=2 \
> -Dperftests.test-config=./perftests/etc/testdefs \
> -Dqpid-jms-client-version=0.11.0 \
>   /// <--- parameters below are default values and can be skipped
> -Dperftests.messaging-hostport-plain=localhost:5672 \
> -Dperftests.messaging-hostport-tls=localhost:5671 \
> -Dperftests.messaging-user=guest \
> -Dperftests.messaging-password=guest \
> -Dperftests.broker-virtualhostnode=default \
> -Dperftests.broker-virtualhost=default \
> -Dperftests.manangement-url=http://localhost:8080 \
> -Dperftests.manangement-user=guest \
> -Dperftests.manangement-password=guest \
> -Dperftests.broker-virtualhostnode=default
>
>
> The basic authentication needs to be enabled on http port in order to
> run the suite. The suite contains 2 transaction and 2 auto ack tests.
> Only transactions tests are affected. The difference in performance
> for Auto ack is unnoticeable.
> Potentially you can comment auto-ack tests in
> ./perftests/etc/testdefs/defaultTests.js and run only transaction
> tests.
>
> Kind Regards,
> Alex
>
> On 28 February 2017 at 17:04, Timothy Bish <ta...@gmail.com> wrote:
>> On 02/28/2017 08:10 AM, Oleksandr Rudyy wrote:
>>> Hi all,
>>>
>>> After upgrading Qpid JMS Client from version 0.11.0 to version 0.20.0
>>> our performance test results  dropped approximately on 20-25% in the
>>> performance tests testing transaction performance with trunk version
>>> of Qpid Java Broker.
>>>
>>> Changing client back to v0.11.0 and re-running the tests yields me the
>>> same results as before the upgrade.
>>>
>>> What changes on the client could be the reason for a performance drop?
>>


-- 
Tim Bish
twitter: @tabish121
blog: http://timbish.blogspot.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: Performance degradation with Qpid JMS Client 0.20.0

Posted by Oleksandr Rudyy <or...@gmail.com>.
Hi Tim,

Please find attached a sample application testing transaction
throughput for one publishing and one consuming connections.
By running it on my machine I see a difference in performance of ~15%
between 0.11.0 and 0.20.0.

Our performance test suite uses 10 publishing and 10 consuming
connections. The difference in performance is a bit bigger with it.

Btw, you can run the suite from qpid-java project using

mvn integration-test -f ./perftests/pom.xml -DskipTests=true \
-Dperftests=qpid-jms-client  -Dqpid.disttest.duration=20000   \
-Dperftests.hillclimb=true -Dperftests.hillclimb.minimum_delta=100
-Dperftests.hillclimb.max_runs=2 \
-Dperftests.test-config=./perftests/etc/testdefs \
-Dqpid-jms-client-version=0.11.0 \
 /// <--- parameters below are default values and can be skipped
-Dperftests.messaging-hostport-plain=localhost:5672 \
-Dperftests.messaging-hostport-tls=localhost:5671 \
-Dperftests.messaging-user=guest \
-Dperftests.messaging-password=guest \
-Dperftests.broker-virtualhostnode=default \
-Dperftests.broker-virtualhost=default \
-Dperftests.manangement-url=http://localhost:8080 \
-Dperftests.manangement-user=guest \
-Dperftests.manangement-password=guest \
-Dperftests.broker-virtualhostnode=default


The basic authentication needs to be enabled on http port in order to
run the suite. The suite contains 2 transaction and 2 auto ack tests.
Only transactions tests are affected. The difference in performance
for Auto ack is unnoticeable.
Potentially you can comment auto-ack tests in
./perftests/etc/testdefs/defaultTests.js and run only transaction
tests.

Kind Regards,
Alex

On 28 February 2017 at 17:04, Timothy Bish <ta...@gmail.com> wrote:
> On 02/28/2017 08:10 AM, Oleksandr Rudyy wrote:
>>
>> Hi all,
>>
>> After upgrading Qpid JMS Client from version 0.11.0 to version 0.20.0
>> our performance test results  dropped approximately on 20-25% in the
>> performance tests testing transaction performance with trunk version
>> of Qpid Java Broker.
>>
>> Changing client back to v0.11.0 and re-running the tests yields me the
>> same results as before the upgrade.
>>
>> What changes on the client could be the reason for a performance drop?
>
>
> There was a great deal of change in the client to implement the extra bits
> needed to meet the JMS 2.0 specification requirements along with other
> changes to handle of the more interesting edge cases around JMS usages so
> it'd be hard to just pull out one change as the culprit without more
> research.  I'm not that surprised that there were some impacts.
>
> What would be helpful would be to pull out one affected test case where you
> see this drop in performance into a standalone test so we could run it in
> the Qpid JMS test suite and do some digging.
>
>> The performance test creates 10 publishing connections and 10
>> consuming connections. They produce/consume every message in separate
>> transactions. The consumer is synchronous. Each pair of producer and
>> consumer uses its own queue.
>>
>> Kind Regards,
>> Alex
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
>> For additional commands, e-mail: users-help@qpid.apache.org
>>
>>
>
>
> --
> Tim Bish
> twitter: @tabish121
> blog: http://timbish.blogspot.com/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
>

Re: Performance degradation with Qpid JMS Client 0.20.0

Posted by Timothy Bish <ta...@gmail.com>.
On 02/28/2017 08:10 AM, Oleksandr Rudyy wrote:
> Hi all,
>
> After upgrading Qpid JMS Client from version 0.11.0 to version 0.20.0
> our performance test results  dropped approximately on 20-25% in the
> performance tests testing transaction performance with trunk version
> of Qpid Java Broker.
>
> Changing client back to v0.11.0 and re-running the tests yields me the
> same results as before the upgrade.
>
> What changes on the client could be the reason for a performance drop?

There was a great deal of change in the client to implement the extra 
bits needed to meet the JMS 2.0 specification requirements along with 
other changes to handle of the more interesting edge cases around JMS 
usages so it'd be hard to just pull out one change as the culprit 
without more research.  I'm not that surprised that there were some impacts.

What would be helpful would be to pull out one affected test case where 
you see this drop in performance into a standalone test so we could run 
it in the Qpid JMS test suite and do some digging.

> The performance test creates 10 publishing connections and 10
> consuming connections. They produce/consume every message in separate
> transactions. The consumer is synchronous. Each pair of producer and
> consumer uses its own queue.
>
> Kind Regards,
> Alex
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
>
>


-- 
Tim Bish
twitter: @tabish121
blog: http://timbish.blogspot.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org