users@grizzly.java.net

Re: Help with slow file uploads

From: Thomas Gideon <tgideon_at_learningobjects.com>
Date: Mon, 27 Apr 2009 17:35:54 -0400

On Mon, Apr 27, 2009 at 5:09 PM, Jeanfrancois Arcand
<Jeanfrancois.Arcand_at_sun.com> wrote:
>

Thank you for the fast response.

> Not request thread, acceptor-threads.
>
> <http-listener acceptor-threads="xx" .../>
>
> How many <request-processing thread-count="xx"/> have you configured?

Sorry, I should have checked our configuration before drafting my
email. Yes, we have 2 acceptor threads. For each node in our
production cluster, we have 8-cores in the physical server and
configured 24 request processing threads. A lab of students could
easily saturate that, though.

> Yes, most probably using Grizzly Comet Async Read I/O would help...but you will need to write something like described here:
>
> http://weblogs.java.net/blog/jfarcand/archive/2006/07/the_grizzly_com.html
>
> Yes, the simplest solution would consist of:
>
> (1) Request for upload comes
> (2) Suspend the response.
> (3) Use another ExecutorServices to grab the suspended request and do the read I/O operations.
> (4) Once finished, resume the response.
>
> That way you won't block the normal request-processing thread.

I will look into this. I am fine with doing some non-trivial coding
to achieve this, I just was struggling with where this fit into how
Grizzy operates. I appreciate the suggestions, hopefully they will
give me some needed direction.

> Let me know what you think and I can try to spend time helping.

I will indeed let you know, no doubt I will have other questions as I
get further into the strategy you suggest.

Thank you!


Thomas Gideon