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>
<param-value>http://localhost:8080/</param-value>
</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
_______________________________________________
jetty-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/jetty-users