Transactional, non persistent queing very slow under Linux
----------------------------------------------------------
Key: AMQ-1137
URL: https://issues.apache.org/activemq/browse/AMQ-1137
Project: ActiveMQ
Issue Type: Bug
Components: Broker
Affects Versions: 4.1.0
Reporter: Helmut Janknecht
h2. USE CASE
# Take 4.1.0 Release from
http://people.apache.org/repo/m2-incubating-repository/org/apache/activemq/apache-activemq/4.1.0-incubator/apache-activemq-4.1.0-incubator.zip
and unzip on a Linux box (SuSE 10.1, Kernel 2.6.16 with 2GB RAM and Xeon(TM)
CPU 2.80GHz
# Edit {{conf/activemq.xml}} and disable ssl and stomp transport
# Start broker: {{apache-activemq-4.1.0-incubator/bin> java -jar run.jar}}
# Edit {{example/build.xml}} and set max=1000 (send 1000 messages to queue) and
*transacted=true*
# Run producer: {{ant producer}}
h2. Results
{code:title=broker logfile}
ACTIVEMQ_HOME: /home/janknecht/tmp/apache-activemq-4.1.0-incubator
Loading message broker from: xbean:activemq.xml
INFO BrokerService - ActiveMQ 4.1.0-incubator JMS Message
Broker (localhost) is starting
INFO BrokerService - For help or more information please see:
http://incubator.apache.org/activemq/
INFO ManagementContext - JMX consoles can connect to
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
INFO JDBCPersistenceAdapter - Database driver recognized:
[apache_derby_embedded_jdbc_driver]
INFO DefaultDatabaseLocker - Attempting to acquire the exclusive lock
to become the Master broker
INFO DefaultDatabaseLocker - Becoming the master on dataSource:
[EMAIL PROTECTED]
INFO JournalPersistenceAdapter - Journal Recovery Started from: Active
Journal: using 5 x 20.0 Megs at:
/home/janknecht/tmp/apache-activemq-4.1.0-incubator/activemq-data/journal
INFO JournalPersistenceAdapter - Journal Recovered: 0 message(s) in
transactions recovered.
INFO TransportServerThreadSupport - Listening for connections at:
tcp://acxlin.wu.ssn:61616
INFO TransportConnector - Connector openwire Started
INFO NetworkConnector - Network Connector default-nc Started
INFO BrokerService - ActiveMQ JMS Message Broker (localhost,
ID:acxlin.wu.ssn-60609-1169619821670-1:0) started
{code}
{code:title=producer output}
producer:
[echo] Running producer against server at $url = tcp://localhost:61616 for
subject $subject = TEST.FOO
[java] Connecting to URL: tcp://localhost:61616
[java] Publishing a Message with size 1000 to queue: TEST.FOO
[java] Using non-persistent messages
[java] Sleeping between publish 0 ms
[java] Sending message: Message: 0 sent at: Wed Jan 24 07:28:14 CET 2007
...
[java] Sending message: Message: 1 sent at: Wed Jan 24 07:28:14 CET 2007
...
[java] Sending message: Message: 2 sent at: Wed Jan 24 07:28:14 CET 2007
...
[java] Sending message: Message: 3 sent at: Wed Jan 24 07:28:15 CET 2007
...
[java] Sending message: Message: 4 sent at: Wed Jan 24 07:28:15 CET 2007
...
[java] Sending message: Message: 5 sent at: Wed Jan 24 07:28:15 CET 2007
...
...
[java] Sending message: Message: 998 sent at: Wed Jan 24 07:28:55 CET
2007...
[java] Sending message: Message: 999 sent at: Wed Jan 24 07:28:55 CET
2007...
[java] Done.
[java] connection {
[java] session {
[java] messageCount{ count: 1000 unit: count startTime: 1169620094893
lastSampleTime: 1169620135606 description: Number of messages exchanged }
[java] messageRateTime{ count: 1000 maxTime: 126 minTime: 4 totalTime:
40688 averageTime: 40.688 averageTimeExMinMax: 40.63927855711423
averagePerSecond: 24.57727093983484 averagePerSecondExMinMax:
24.606736032348735 unit: millis startTime: 1169620094893 lastSampleTime:
1169620135606 description: Time taken to process a message (thoughtput rate) }
[java] pendingMessageCount{ count: 0 unit: count startTime:
1169620094893 lastSampleTime: 1169620094893 description: Number of pending
messages }
[java] expiredMessageCount{ count: 0 unit: count startTime:
1169620094893 lastSampleTime: 1169620094893 description: Number of expired
messages }
[java] messageWaitTime{ count: 0 maxTime: 0 minTime: 0 totalTime: 0
averageTime: 0.0 averageTimeExMinMax: 0.0 averagePerSecond: 0.0
averagePerSecondExMinMax: 0.0 unit: millis startTime: 1169620094893
lastSampleTime: 1169620094893 description: Time spent by a message before being
delivered }
[java] durableSubscriptionCount{ count: 0 unit: count startTime:
1169620094893 lastSampleTime: 1169620094893 description: The number of durable
subscriptions }
[java] producers {
[java] producer queue://TEST.FOO {
[java] messageCount{ count: 1000 unit: count startTime:
1169620094918 lastSampleTime: 1169620135606 description: Number of messages
processed }
[java] messageRateTime{ count: 1000 maxTime: 126 minTime: 4
totalTime: 40688 averageTime: 40.688 averageTimeExMinMax: 40.63927855711423
averagePerSecond: 24.57727093983484 averagePerSecondExMinMax:
24.606736032348735 unit: millis startTime: 1169620094918 lastSampleTime:
1169620135606 description: Time taken to process a message (thoughtput rate) }
[java] pendingMessageCount{ count: 0 unit: count startTime:
1169620094918 lastSampleTime: 1169620094918 description: Number of pending
messages }
[java] messageRateTime{ count: 1000 maxTime: 126 minTime: 4
totalTime: 40688 averageTime: 40.688 averageTimeExMinMax: 40.63927855711423
averagePerSecond: 24.57727093983484 averagePerSecondExMinMax:
24.606736032348735 unit: millis startTime: 1169620094918 lastSampleTime:
1169620135606 description: Time taken to process a message (thoughtput rate) }
[java] expiredMessageCount{ count: 0 unit: count startTime:
1169620094918 lastSampleTime: 1169620094918 description: Number of expired
messages }
[java] messageWaitTime{ count: 0 maxTime: 0 minTime: 0 totalTime:
0 averageTime: 0.0 averageTimeExMinMax: 0.0 averagePerSecond: 0.0
averagePerSecondExMinMax: 0.0 unit: millis startTime: 1169620094918
lastSampleTime: 1169620094918 description: Time spent by a message before being
delivered }
[java] }
[java] }
[java] consumers {
[java] }
[java] }
[java] }
{code}
As you can see very bad performace, ot took about 40s to send this 1000
transacted queue messages :-(
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.