users@grizzly.java.net

Re: Proxy implementation

From: Karsten Ohme <widerstand_at_t-online.de>
Date: Wed, 6 Jun 2007 17:28:10 +0200

On Tue, Jun 05, 2007 at 05:52:31PM +0200, Oleksiy Stashok wrote:
> Karsten, please try this version.
> I tried to avoid frequent registering of OP_READ on main selector.

No, something strange must be happening. JMeter is finishing fast the first threads but at the end the average time raises above 6 seconds.

Test conditions:

I use a Tomcat server, another server web server should also suffice, Tomcat is fast enough, see the picture I attached in a previous mail. I use a big file, e.g.
a
picture and a small web page. The proxy runs on 8081, the Tomcat on 8080. I also have a dirty blockign implementation whcih runs on port 8082. Everything on the
localhost. The blocking implementation is attached (SocketTunnel.zip).My test scenario is attached (TestAjax.war). There is a war can
can deploy or the complete Eclipse WTP project. The war might be easier to deploy.

I also attach the Test scenario for JMeter (TestPlan 2.jmx).

Best Regards,
Karsten


>
> WBR,
> Alexey.
>
> Oleksiy Stashok wrote:
> >
> >>>In your implementation one thing is not clear to me. It's your Map.
> >>>May be I missed something, but seems it's just one-direction map. In
> >>>other words what will be if request will come to proxy in several
> >>>parts? How it will be processed?
> >>>
> >>
> >>No, the map contains the SocketConnections from the client to the
> >>proxy as key and proxy to server as value and also the other direction.
> >>
> >Right, didn't notice that :)
> >
> >>>>Can have used a blocking connect method and write the dat in
> >>>>blocking mode. Can this cause problems? As far as I see the
> >>>>Pipiline is executed eahc time a SelectionKey event happens but by
> >>>>defualt 20 threads are only executed. Can this be a limit? Can the
> >>>>performance be improved?
> >>>>
> >It depends from specific configuration, but think 20 threads should be
> >ok. Think the main reason of bad results - is that in our
> >implementations we reregister keys all the time on main selector.
> >Think using ByteBufferInputStream for reading will get implementation
> >speed much better.
> >
> >WBR,
> >Alexey.
> >
> >>>>I have also attached test results from JMeter compared to a
> >>>>blocking solution and a direct conenction to a Tomcat server.
> >>>>
> >>>>Ragards,
> >>>>Karsten
> >>>>
> >>>>
> >>>>------------------------------------------------------------------------
> >>>>
> >>>>
> >>>>------------------------------------------------------------------------
> >>>>
> >>>>
> >>>>---------------------------------------------------------------------
> >>>>To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> >>>>For additional commands, e-mail: users-help_at_grizzly.dev.java.net
> >>>>
> >>>>
> >>>---------------------------------------------------------------------
> >>>To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> >>>For additional commands, e-mail: users-help_at_grizzly.dev.java.net
> >>>
> >>>
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> >>For additional commands, e-mail: users-help_at_grizzly.dev.java.net
> >>
> >>
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> >For additional commands, e-mail: users-help_at_grizzly.dev.java.net
> >


> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: users-help_at_grizzly.dev.java.net