[
https://issues.apache.org/activemq/browse/AMQ-1137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_37973
]
Helmut Janknecht commented on AMQ-1137:
---------------------------------------
I found this mailing list article:
http://www.mail-archive.com/[email protected]/msg04020.html
It seems to be a similar problem.
I played around also with different Java versions (1.5.0_10 and Java6/Mustang).
I tried to run on different machines with older Linux kernel (2.6.5, SUSE LINUX
Enterprise Server 9.3 with 4x Xeon(TM) MP CPU 3.66GHz and 8GB RAM)
but always same result. As soon as transactions are enabled sending is so slow
- but only under Linux.
with Windows I got:
{noformat}
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:40:36 CET 2007
...
[java] Sending message: Message: 1 sent at: Wed Jan 24 07:40:36 CET 2007
...
...
[java] Sending message: Message: 998 sent at: Wed Jan 24 07:40:37 CET
2007...
[java] Sending message: Message: 999 sent at: Wed Jan 24 07:40:37 CET
2007...
[java] Done.
[java] connection {
[java] session {
[java] messageCount{ count: 1000 unit: count startTime: 1169620836233
lastSampleTime: 1169620837215 description: Number of messages exchanged }
[java] messageRateTime{ count: 1000 maxTime: 31 minTime: 0 totalTime:
951 averageTime: 0.951 averageTimeExMinMax: 0.9218436873747495
averagePerSecond: 1051.5247108307046 averagePerSecondExMinMax:
1084.7826086956522 unit: millis startTime: 1169620836233 lastSampleTime:
1169620837215 description: Time taken to process a message (thoughtput rate) }
...
{noformat}
So dramatically faster, <1s compared to 40s under Linux.
> 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.