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

Reply via email to