users@grizzly.java.net

High latency of ARP calls in Glassfish v2

From: Igor Minar <iiminar_at_gmail.com>
Date: Tue, 21 Oct 2008 23:34:13 -0700

Hi Guys,

I'm building an ARP filter for grizzly that I use in glassfish-v2ur2
and I'm seeing huge request latency under moderate load (20 users).
When I run tests with a single user, the delay is usually insignificant.

I wrote a faban benchmark for my filter and also added some debugging
code that tracks processing time in the filter and I came to the
conclusion that the delay occurs before the request hits the doFilter
method of my filter, which means that the delay is occurring in
grizzly or glassfish and not in my filter.

I see the problem repeatedly. The 90th percentile of the delay is
around 10 seconds (the average is 4-5 seconds, max is 30+ seconds).

Are there any known issues with grizzly used in glassfish that could
cause this behavior?

cheers,
Igor



Here are relevant parts of the domain.xml:

<jvm-options>-Dcom.sun.enterprise.web.connector.grizzly.asyncHandlerClass
=com.sun.enterprise.web.connector.grizzly.async.DefaultAsyncHandler</
jvm-options>
<jvm-options>-Dcom.sun.enterprise.web.connector.grizzly.asyncHandler.ports
=8080</jvm-options>
<jvm-options>-
Dcom
.sun
.enterprise
.web
.connector
.grizzly.asyncFilters=com.igorminar.grizzlysendfile.SendfileFilter</
jvm-options>

<http-listener acceptor-threads="5" address="0.0.0.0" blocking-
enabled="false" default-virtual-server="server" enabled="true"
family="inet" id="http-listener-1" port="8080" security-
enabled="false" server-name="" xpowered-by="true">