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