Hi Niall,

Thanks for looking at Restlets and at the code of the Simple connector.

> 1) I have performed some very quick benchmarks against
> Jetty 6 (the new NIO implementation). The performance
> tests using httperf and autobench have shown that
> Simple performs slightly better under higher load.
> However, my test environment is Linux and both servers
> run out of file descriptors at about 3000 requests per
> second, simulating about 300 new connections per
> second. 
Sounds good. FYI, the max number of file descriptors on Linux can be
increased.
On Debian there is a file "/etc/security/limits.conf" for that and the
ulimit command may be useful too.

> 2) I have an initial implementation for an NIO core,
> which is still in the early stages. Hopefully I will
> get some time to work on this a bit more and complete
> it. I have not had much time recently. 
> 
> I think the NIO implementation with the existing
> design will improve observed performance. Currently
> the IO strategy favours higher loads, which results in
> response times that are not as snappy as I would like.
Cool, I'm looking forward for this new NIO core. BTW, will this
implementation be based on JSE 5.0 or will you keep the backwards
compatibility with J2SE 1.4? If you switch to JSE 5.0, the availaibility of
java.util.concurrent may help you reduce even more the size of Simple core.

> Just to mention, you can improve initial response
> times of your implementation by changing the maximum
> wait peroid for inactive connections to about 200ms
> from the default 1000ms. The server will be a little
> more responsive with that configuration. For example
> in SimpleServer.java replace 
> [...]
> This ensures that should a pipeline be inactive it
> will be placed in the wait queue for a maximum of
> 200ms. The  javadoc explains the logic in this design.
Thanks for the advice, I've checked in the suggested modification.

Cheers,
Jerome

Reply via email to