[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[jetty-users] Scalability of ProxyServlet$Transparent and Tomcat
|
Hi,
I have set up a basic web application to try out the Transparent servlet. The relevant block of my web.xml reads:
<servlet>
<servlet-name>proxy</servlet-name>
<servlet-class>org.eclipse.jetty.servlets.ProxyServlet$Transparent</servlet-class>
<init-param>
<param-name>ProxyTo</param-name>
</init-param>
<init-param>
<param-name>Prefix</param-name>
<param-value>/</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
I'm using version 8.1.1.v20120215 of jetty-servlet, and I'm deploying to Tomcat 7.0.21.
A server is listening on
http://localhost:8080/, and it takes 5 seconds to serve each request that it receives (the response is a few characters).
In my tests I'm firing several simultaneous requests to the server, proxied through the Transparent servlet.
Now, from what I know about the Transparent, I would expect that Tomcat's HTTP thread pool doesn't limit the number of concurrent requests; as soon as a new request comes in, it should be immediately handed over to a thread of Transparent's own pool, which in turn does the proxying job using asynchronous IO.
Instead, what I observe is that the size of Tomcat's pool IS the limit for concurrent requests. Did I misunderstand the functioning and purpose of the Transparent? Or is this just a "feature" of the combination Tomcat + Jetty servlet?
Hoping that someone will shed some light on this.
Greetings,
Gianluca