You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "james strachan (JIRA)" <ji...@apache.org> on 2007/03/14 14:58:35 UTC

[jira] Resolved: (AMQ-1137) Transactional, non persistent queing very slow under Linux

     [ https://issues.apache.org/activemq/browse/AMQ-1137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

james strachan resolved AMQ-1137.
---------------------------------

    Resolution: Duplicate

The workaround is to use the URI...

{code}
?socket.tcpNoDelay=true
{code}

> 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: org.apache.derby.jdbc.EmbeddedDataSource@14627a
> 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.


Re: [jira] Resolved: (AMQ-1137) Transactional, non persistent queing very slow under Linux

Posted by Anthrope <pn...@anthrope.com>.
Works when you use simple tcp://host:port URL, but not if you use failover
URL.



JIRA jira@apache.org wrote:
> 
> 
>      [
> https://issues.apache.org/activemq/browse/AMQ-1137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
> ]
> 
> james strachan resolved AMQ-1137.
> ---------------------------------
> 
>     Resolution: Duplicate
> 
> The workaround is to use the URI...
> 
> {code}
> ?socket.tcpNoDelay=true
> {code}
> 
>> 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:
>> org.apache.derby.jdbc.EmbeddedDataSource@14627a
>> 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.
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/-jira--Resolved%3A-%28AMQ-1137%29-Transactional%2C-non-persistent-queing-very-slow-under-Linux-tf3402298s2354.html#a10885531
Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.