activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dziugas Baltrunas" <dziu...@baltrunas.lt>
Subject Re: Transacted session commit is slow
Date Wed, 05 Sep 2007 08:28:38 GMT
Hi,

I hope tcpNoDelay flag will be updated in next release of ActiveMQ.
For those using 4.1.1 version there are two workarounds:

1. Modify the source code as described in AMQ-1156.
2. In lib/activemq-core-4.1.1.jar edit
META-INF/services/org/apache/activemq/transport/tcp and change

class=org.apache.activemq.transport.tcp.TcpTransportFactory

to

class=your.package.YourTcpTransportFactory

Then create your.package.YourTcpTransportFactory class witch extends
org.apache.activemq.transport.tcp.TcpTransportFactory and overrides
single method as follows:

public class YourTcpTransportFactory extends TcpTransportFactory {

  public Transport compositeConfigure(Transport transport, WireFormat
format, Map options) {
    TcpTransport tcpTransport = (TcpTransport)
transport.narrow(TcpTransport.class);
    tcpTransport.setTcpNoDelay(new Boolean(true));
    return super.compositeConfigure(transport, format, options);		
  }
}

Don't forget to put your class in ActiveMQ classpath. One way is to
pack YourTcpTransportFactory into jar and put in ActiveMQ lib/ folder.

Regards,
Dziugas Baltrunas

On 9/4/07, Dziugas Baltrunas <dziugas@baltrunas.lt> wrote:
> Hi,
>
> what is the right way to turn off TCP_NODELAY on Apache ActiveMQ 4.1.1
> (server side)? Looks like none of the options (socket.tcpNoDelay,
> wireFormat.tcpNoDelayEnabled, tcpNoDelay) work as described in
> AMQ-1156.
>
> Regards,
> Dziugas Baltrunas
>
> On 9/4/07, James Strachan <james.strachan@gmail.com> wrote:
> > On 9/4/07, Dziugas Baltrunas <dziugas@baltrunas.lt> wrote:
> > > Hi again,
> > >
> > > looks like I was wrong - running daemon on Windows increases the
> > > performance dramatically and I can now consume 1000 messages with
> > > commit after each message in less then 500 ms. And this is client
> > > independent, i.e. both consumer from Linux and Windows can consume
> > > fast from ActiveMQ running on Windows but slow if ActiveMQ runs on
> > > Linux.
> > >
> > > So it appears that my problem is the same as described AMQ-1137.
> > >
> > > Any hints how to "tune" ActiveMQ running on Linux to speed up commit operations?
> >
> > Usually thats the nagler / tcp-nodelay issue
> >
> > --
> > James
> > -------
> > http://macstrac.blogspot.com/
> >
>

Mime
View raw message