qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajith Attapattu <rajit...@gmail.com>
Subject Re: QPid JMS client configuration
Date Wed, 25 Feb 2009 21:47:49 GMT
Hello ffrench,

The -Didle_timeout is used to configure the socket timeout to figure
out a connection a connection failure before the tcp stack notifies
us.
Basically the idle timeout is twice the heartbeat interval set in the
broker. This has no connection with performance and also not with the
problem you are seeing above.

It looks like the client is waiting for the broker to send a response
to it's flush request and it is timing out.
Since you are sending messages with a large size you are trigging this logic.

Experiment with setting -Dqpid.session.byte_limit to a larger size and
see what happens.
By default the value for "qpid.session.byte_limit" is 1024*1024.
If the broker does not respond to the flush request then setting the
above to a higher value will only prolong the problem.

So please post the broker log as we could figure out whats happening
on the other end. It maybe that the broker does not respond to the
flush request in reasonable time frame or at all (and it is not bound
to do so either).
If thats the case we could experiment with setting the sync bit.


Regards,

Rajith


On Wed, Feb 25, 2009 at 8:43 AM, ffrenchm <ffrench.mathilde@gmail.com> wrote:
>
> Hello,
>
> some new questions for you guys :) For my bench I want to send message with
> different size. I'm currently testing the send of 262144 bytes messages.
> Unfortunately I get this error :
>
> org.apache.qpid.transport.SessionException: timed out waiting for completion
>        at org.apache.qpid.transport.Session.invoke(Session.java:543)
>        at
> org.apache.qpid.transport.SessionInvoker.messageTransfer(SessionInvoker.java:96)
>        at
> org.apache.qpid.client.BasicMessageProducer_0_10.sendMessage(BasicMessageProducer_0_10.java:160)
>        at
> org.apache.qpid.client.BasicMessageProducer.sendImpl(BasicMessageProducer.java:465)
>        at
> org.apache.qpid.client.BasicMessageProducer.sendImpl(BasicMessageProducer.java:420)
>        at
> org.apache.qpid.client.BasicMessageProducer.send(BasicMessageProducer.java:258)
>        at Bench.JMSBench.jms_publisher(JMSBench.java:79)
>        at Bench.runBench$2.run(runBench.java:87)
>        at java.lang.Thread.run(Thread.java:619)
>
> I saw there are some configuration to tune my JMS client
> (org.apache.qpid.client.configuration.ClientProperties.java) and
> particularly this one : IDLE_TIMEOUT_PROP_NAME. I think I can tune this
> through the JVM parameters (-Didle_timeout= ... ) but I would like to be
> sure it's the good one to tune and what could be the good value to avoid
> this error (I do not know the default).
>
> Another parameter I saw is the  READ_BUFFER_LIMIT_DEFAULT &
> WRITE_BUFFER_LIMIT_DEFAULT hardly defined to 262144 and which could be
> change (I guess) thanks JVM option qpid.read.buffer.limit. In my bench I
> want to send messages of 4194304 bytes do you think I should change this
> parameter to 4194304 to get best performances ?
>
> Thanks for all...
>
>
> --
> View this message in context: http://n2.nabble.com/QPid-JMS-client-configuration-tp2383781p2383781.html
> Sent from the Apache Qpid users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> Apache Qpid - AMQP Messaging Implementation
> Project:      http://qpid.apache.org
> Use/Interact: mailto:users-subscribe@qpid.apache.org
>
>



-- 
Regards,

Rajith Attapattu
Red Hat
http://rajith.2rlabs.com/

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:users-subscribe@qpid.apache.org


Mime
View raw message