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

[jira] Commented: (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:comment-tabpanel#action_38798 ] 

Helmut Janknecht commented on AMQ-1137:
---------------------------------------

With my patch described in https://issues.apache.org/activemq/browse/AMQ-1156#action_38797 it now performs well.

One note: with Linux Kernel 2.6.16 and 2.6.17 it seems to be significant slower than with 2.6.18 or newer or with elder kernels.

> 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.