Performance And Optimization

Hi All,

Does anyone know if there’s recommendations/tips on how to improve Rhythmyx’s performance and optimize your implementation? Nothing specifically is causing me any issues, however I’ve not come across this information any where so thought it was worth raising the question.


If you look at server-beans.xml located in Rhythmyx\AppServer\server\rx\deploy\rxapp.ear\rxapp.war\WEB-INF\config\user\spring. You will see a bean section that looks like this:

     <!-- Publishing handler setup for the assembly and status queues -->
        <bean id="sys_publishMessageHandlerContainerQ"
                  <property name="concurrentConsumers" value="2"/>
                  <property name="connectionFactory" ref="sys_jmsConnectionFactory" />
                  <property name="destination" ref="sys_publishQueueDestination" />
                  <property name="messageListener" ref="sys_publishQueueListener" />

Changed concurrentConsumers to 1 and add another property underneath that in the same node called

<property name="maxConcurrentConsumers" value="2"/>

You can play with this property this tells the publisher to start off with one thread and it can grow to 3. Think of it as concurrentConsumers as the starting point and maxConcurrentConsumers as the point it can grow too.

You will need to stop/start the server for this change to take effect.

Thanks! I’ll have a look into this.

We’re running CM System v7.1 on Win2008 w/ Oracle 10g. If we want to improve publish processing, would it make more sense to make the recommended change to the property ‘concurrentConsumers’ in:

[li]the file Rhythmyx\AppServer\server\rx\deploy\rxapp.ear\rxapp.war\WEB-INF\config[B]user[/B]\spring[B]publisher[/B]-beans.xml[/li][li]in the element [/li]```html


In quoted path from the original post, in the referenced element id="sys_[B]email[/B]MessageHandlerContainerQ", the server-beans.xml file of our installation already had the property 'concurrentConsumers' set to 1 which is what has made me do a double-take in the first place. It seems that a bean with id of sys_[B]publish[/B]MessageHandlerContainerQ would have more of an effect on publishing than one called sys_[B]email[/B]MessageHandlerContainerQ. Also, wouldn't changes in the ...\config\user\spring\... path be preserved whereas changes to ...\config\spring\... might be over-written by upgrades or patches? 

Any help regarding the difference between the two files and the two bean configurations appreciated. --Bernadette

I just realized that what I had posted before was a little incorrect I have updated the post with the correct information. Sorry for the confusion.

I have recently seen some evidence that setting maxConcurrentConsumers does not necessarily help performance if you are after the maximum throughput of items to publish. I think it may take a while to build up the number of threads and having them already started with just setting an appropriate concurrentConsumers give better publishing speeds. This will be dependent on each individual server and publishing profile so it is always best to compare changes to this with your average publishing times.