Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Jetty 9 as a Front-end Server

Hi,

On Mon, Jun 10, 2013 at 3:15 PM, Shane Curless <shane@xxxxxxxxxxxxx> wrote:
> Hello all,
>
> During my recent conversations on this list and the IRC channel, it was
> brought to my attention that using Nginx as a reverse proxy to Jetty is
> merely creating a bottleneck. I’ll gladly switch to using Jetty as the
> front-end server, as long as it meets the two conditions below:
>
> ·        It is capable of handling hundreds, maybe even thousands of
> requests per second without significant latency (in a production
> environment).

No problems. I know of at least one production environment that is
handling 10-15k requests/s with 10% of CPU or so.
I have benchmarked CometD/Jetty and reached 40k-50k requests/s:
http://webtide.intalio.com/2011/09/cometd-2-4-0-websocket-benchmarks/

> ·        There is functionality equivalent to Apache’s X-SendFile and
> Nginx’s X-Accel-Redirect headers. We need to be able to output a header from
> Railo that tells the server to stream out a static file of any size –
> Loading multi-gigabyte sized files into RAM is not the most efficient way of
> doing this.

What little faith you have in Jetty :)
If we were doing this, we would be really naive... Jetty builds on 15
years of experience and optimizations.

Jetty's DefaultServlet serves content asynchronously and using direct
buffers whenever possible (you can think of this as the Java
"sendfile").
Depending on your needs, you can configure a new DefaultServlet to map
to the directory where you have the files you are serving (e.g. if
you're creating them dynamically), or even use for that the
out-of-the-box DefaultServlet that is installed behind the scenes by
Jetty to serve static files.

Jetty does not need any header to tell DefaultServlet to be efficient,
but the details of your case may be different.
You can pretty much figure out how to configure DefaultServlet from
its Javadocs though:
http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/servlet/DefaultServlet.html

--
Simone Bordet
----
http://cometd.org
http://webtide.com
http://intalio.com
Developer advice, training, services and support
from the Jetty & CometD experts.
Intalio, the modern way to build business applications.


Back to the top