activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hemant Gaur" <hg...@interwoven.com>
Subject RE: Consumer Sampler: How to configure No. of Consumers
Date Wed, 13 Dec 2006 11:36:35 GMT
I have been able to get this fixed in the Jmeter.
Actually the calls made for 
connection.setClientID(idGenerator.generateId());//not supported by
OpenJMS
are removed from the OpenJMS code path in the
org.activemq.sampler.Consumer
And added the UniqueID to the client name while creating the
subscription.
<<consumer = ((TopicSession)session).createDurableSubscriber(topic,
getClass().getName());
>>consumer = ((TopicSession)session).createDurableSubscriber(topic,
getClass().getName()+idGenerator.generateId());

Ensure that the consumer sampler is the first Member of the test
ThreadGroup and the tests run fine.

However on stressting the OpenJMS with more than one
subscribers/Publishers there are SqlServer deadlock exceptions printed
on the OpenJMS console.
17:04:03.376 ERROR [Scheduler-Worker-3] - Error in
SentMessageCache.process
	org.exolab.jms.persistence.PersistenceException:
	ava.sql.SQLException: [Microsoft][SQLServer 2000 Driver for
JDBC][SQLServer]Tra
	saction (Process ID 54) was deadlocked on {lock} resources with
another process
	and has been chosen as the deadlock victim. Rerun the
transaction.
	at
com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
OpenJMS selects the victim and reruns the transactions but the consumers
are badly affected from this and the messages throughput is drastacally
decresed to 2-3 messages/Sec.

Regards,
Hemant Gaur 

-----Original Message-----
From: Hemant Gaur [mailto:hgaur@interwoven.com] 
Sent: Tuesday, December 12, 2006 6:48 PM
To: activemq-users@geronimo.apache.org
Subject: RE: Consumer Sampler: How to configure No. of Consumers 

>From org.activemq.sampler.Consumer
In the subscribe( name) function 
1.) connection.setClientID(idGenerator.generateId());
The set ClientID is not supported in the openJMS.

2.) consumer = ((TopicSession)session).createDurableSubscriber(topic,
getClass().getName());

Open JMS does not allows to create the durable subscrioption for the
same client name for the topics which is done in ActiveMQ tests.
http://openjms.sourceforge.net/xref/org/exolab/jms/server/JmsServerSessi
on.html

/***
* Unsubscribe a durable subscription. This will delete the state of
* the durable subscriber maintained by the server. A durable subscriber
* is uniquely identifiable and the same subscriber cannot be associated
* with more than topic.
*
* @param       name                the name used to uniquely identify
the
*                                  subscription
* @throws   JMSException        if the subscription cannot be removed
*                                  or any other problem.

Has anyone ever tried using the ActiveMQ tests with the openJMS for the
mutiple topics and subscribers ?

Regards,
Hemant 

-----Original Message-----
From: Hemant Gaur [mailto:hgaur@interwoven.com] 
Sent: Tuesday, December 12, 2006 3:35 PM
To: activemq-users@geronimo.apache.org
Subject: RE: Consumer Sampler: How to configure No. of Consumers 

 
I see from connecting to the ActiveMQ that the consumers have the same
names for all the instances but with the different topic subscription.
When these are added to the OpenJMS DB they are cleaned up and only one
consumer is left.

Any thoughts will be appriacted.

--hemant
-----Original Message-----
From: Hemant Gaur [mailto:hgaur@interwoven.com] 
Sent: Tuesday, December 12, 2006 2:37 PM
To: activemq-users@geronimo.apache.org
Subject: Consumer Sampler: How to configure No. of Consumers 

Hi, 
I am trying to run the jmeter test provided by ActiveMQ on the OpenJMS
release version.
 
The desired configuration is 
5 topics, 5 publishers, 5 consumers, persistent, non- synchronous.
 
Though I have added 5 Consumers in the consumer sampler, the DataBase
still shows only one after running the tests in the consumer table.
 
org.activemq.sampler.Consumer
 
Also I had to add all the topics manually into the openJMS config to get
things running.
 <AdministeredDestinations>
    <AdministeredTopic name="TOOL.DEFAULT.TOPIC0"/>
    <AdministeredTopic name="TOOL.DEFAULT.TOPIC1"/>
    <AdministeredTopic name="TOOL.DEFAULT.TOPIC2"/>
    <AdministeredTopic name="TOOL.DEFAULT.TOPIC3"/>
    <AdministeredTopic name="TOOL.DEFAULT.TOPIC4"/>
  </AdministeredDestinations>

The messages are published to all the five topics. 
 
My queries are :
How do I verify that they are published from the 5 Publishers?
How to get the five consumers ?
What does this configuration mean , all the five publisher publishing to
five topics and the five consumers subscribing to all of them ?
 
JMeterLogs 
2006/12/12 13:13:18 INFO  - jmeter.JMeter: Version 2.1.20050419 
2006/12/12 13:13:18 INFO  - jmeter.JMeter: java.version=1.6.0-rc 
2006/12/12 13:13:18 INFO  - jmeter.JMeter: Copyright (c) 1998-2005 The
Apache Software Foundation 
2006/12/12 13:13:20 ERROR - jmeter.gui.action.Help: Couldn't load help
file java.io.FileNotFoundException:
C:\ActiveMQ\activemq-jmeter-4.0-SNAPSHOT\printable_docs\usermanual\compo
nent_reference.html (The system cannot find the path specified) 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [swiftmq_server] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_msg_send_type] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_async_send] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_non_async_send] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [swiftmq_server] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_msg_send_type] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_async_send] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_non_async_send] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_msg_send_type] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_async_send] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_non_async_send] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_msg_send_type] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_async_send] 
2006/12/12 13:13:20 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_non_async_send] 
2006/12/12 13:13:21 WARN  - jmeter.testbeans.gui.TestBeanGUI: testing
class: org.apache.jmeter.config.CSVDataSet 
2006/12/12 13:13:21 WARN  - jmeter.testbeans.gui.TestBeanGUI: testing
class: org.apache.jmeter.protocol.http.sampler.AccessLogSampler 
2006/12/12 13:13:21 INFO  -
jmeter.protocol.http.sampler.AccessLogSamplerBeanInfo: Entered access
log sampler bean info 
2006/12/12 13:13:21 INFO  -
jmeter.protocol.http.sampler.AccessLogSamplerBeanInfo: found parsers:
[org.apache.jmeter.protocol.http.util.accesslog.TCLogParser] 
2006/12/12 13:13:21 INFO  -
jmeter.protocol.http.sampler.AccessLogSamplerBeanInfo: Got to end of
access log samper bean info init 
2006/12/12 13:13:21 WARN  - jmeter.testbeans.gui.TestBeanGUI: testing
class: org.apache.jmeter.protocol.jdbc.config.DataSourceElement 
2006/12/12 13:13:21 WARN  - jmeter.testbeans.gui.TestBeanGUI: testing
class: org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler 
2006/12/12 13:13:21 WARN  - jmeter.testbeans.gui.TestBeanGUI: testing
class: org.apache.jmeter.timers.ConstantThroughputTimer 
2006/12/12 13:13:21 WARN  - jmeter.testbeans.gui.TestBeanGUI: testing
class: org.apache.jmeter.timers.SyncTimer 
2006/12/12 13:13:21 INFO  - jmeter.samplers.SampleResult: Note: Sample
TimeStamps are END times 
2006/12/12 13:13:21 INFO  - jmeter.samplers.SampleResult:
sampleresult.default.encoding is set to ISO-8859-1 
2006/12/12 13:13:28 INFO  - jmeter.services.FileServer: Setting basedir
to: null 
2006/12/12 13:13:32 INFO  - jmeter.gui.action.Load: Loading file:
C:\ActiveMQ\activemq-jmeter-4.0-SNAPSHOT\bin\Hemant\ALL555.jmx 
2006/12/12 13:13:32 INFO  - jmeter.services.FileServer: Setting basedir
to: C:\ActiveMQ\activemq-jmeter-4.0-SNAPSHOT\bin\Hemant\ALL555.jmx 
2006/12/12 13:13:32 INFO  - jmeter.save.SaveService: Using SaveService
properties file 1.5 
2006/12/12 13:13:32 WARN  - jmeter.save.SaveService: Could not set up
alias BeanShellSampler java.lang.ClassNotFoundException:
org.apache.jmeter.protocol.java.sampler.BeanShellSampler 
2006/12/12 13:13:32 WARN  - jmeter.save.SaveService: Could not set up
alias WebServiceSampler java.lang.ClassNotFoundException:
org.apache.jmeter.protocol.http.sampler.WebServiceSampler 
2006/12/12 13:13:32 INFO  - jmeter.save.SaveService: All converter
versions present and correct 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.Producer: Protocol
Handler name=SamplerClientImpl 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.Producer: Status
prefix= 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.Producer: Status
suffix= 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.Producer: Status
properties= 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.SamplerClientImpl:
Using eolByte=0 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.Consumer: Protocol
Handler name=SamplerClientImpl 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.Consumer: Status
prefix= 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.Consumer: Status
suffix= 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.Consumer: Status
properties= 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.SamplerClientImpl:
Using eolByte=0 
2006/12/12 13:13:32 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_msg_send_type] 
2006/12/12 13:13:32 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_async_send] 
2006/12/12 13:13:32 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_non_async_send] 
2006/12/12 13:13:32 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_msg_send_type] 
2006/12/12 13:13:32 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_async_send] 
2006/12/12 13:13:32 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [form_non_async_send] 
2006/12/12 13:13:32 INFO  - jmeter.services.FileServer: Setting basedir
to: C:\ActiveMQ\activemq-jmeter-4.0-SNAPSHOT\bin\Hemant\ALL555.jmx 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.SamplerClientImpl:
Using eolByte=0 
2006/12/12 13:13:32 INFO  - org.activemq.sampler.SamplerClientImpl:
Using eolByte=0 
2006/12/12 13:13:57 INFO  - org.activemq.sampler.SamplerClientImpl:
Using eolByte=0 
2006/12/12 13:13:57 INFO  - org.activemq.sampler.SamplerClientImpl:
Using eolByte=0 
2006/12/12 13:13:57 INFO  - jmeter.engine.StandardJMeterEngine: Running
the test! 
2006/12/12 13:13:57 INFO  - jmeter.gui.util.JMeterMenuBar:
setRunning(true,local) 
2006/12/12 13:13:57 INFO  - jmeter.engine.StandardJMeterEngine: Starting
1 threads for group Thread Group. Ramp up = 1. 
2006/12/12 13:13:57 INFO  - jmeter.engine.StandardJMeterEngine: Test
will stop on error 
2006/12/12 13:13:57 WARN  - jmeter.threads.JMeterThread:
jmeterthread.startearlier=true (see jmeter.properties) 
2006/12/12 13:13:57 INFO  - org.activemq.sampler.SamplerClientImpl:
Using eolByte=0 
2006/12/12 13:13:57 INFO  - org.activemq.sampler.SamplerClientImpl:
Using eolByte=0 
2006/12/12 13:13:57 INFO  - jmeter.threads.JMeterThread: Thread Thread
Group 1-1 started 
2006/12/12 13:13:57 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [swiftmq_server] 
2006/12/12 13:13:57 WARN  - jmeter.util.JMeterUtils: ERROR! Resource
string not found: [webspheremq_server] 
2006/12/12 13:13:58 ERROR - org.activemq.sampler.Consumer: Error running
consumer  javax.jms.JMSException: Failed to unsubscribe subscriber
org.activemq.sampler.Consumer since is still active
 at
org.exolab.jms.server.JmsServerSession.unsubscribe(JmsServerSession.java
:881)
 at
org.exolab.jms.server.JmsServerSession.createSubscriber(JmsServerSession
.java:758)
 at
org.exolab.jms.server.mipc.IpcJmsSessionConnection.createSubscriber(IpcJ
msSessionConnection.java:588)
 at
org.exolab.jms.server.mipc.IpcJmsSessionConnection.notify(IpcJmsSessionC
onnection.java:165)
 at
org.exolab.jms.server.mipc.IpcJmsReceiver.notify(IpcJmsReceiver.java:100
)
 at
org.exolab.jms.server.mipc.IpcServerChannel.run(IpcServerChannel.java:16
1)
 
2006/12/12 13:13:58 INFO  - jmeter.threads.JMeterThread: Thread Thread
Group 1-1 is done 
2006/12/12 13:13:58 INFO  - jmeter.engine.StandardJMeterEngine: Ending
thread 0 
2006/12/12 13:13:58 INFO  - jmeter.engine.StandardJMeterEngine: Stopping
test 
2006/12/12 13:13:58 INFO  - jmeter.gui.util.JMeterMenuBar:
setRunning(false,local) 
2006/12/12 13:13:58 INFO  - jmeter.engine.StandardJMeterEngine: Test has
ended 
===========================
 
 

 
 



Mime
View raw message