My question was specific to using the Jetty instance exclusively as a
proxy, using AsyncProxyServlet.

The assumption is that it's fully async, meaning that at no point in
proxying a request does a thread/core wait/idle. If that assumption is
true, what do I gain from adding more threads, other than increased context
switching?

On Wed, Oct 8, 2014 at 1:48 PM, Joakim Erdfelt <[email protected]> wrote:

> Setting a threadpool at or near the core count is an incomplete evaluation
> of your thread count problem.
>
> You have the connector, its selectors / acceptors.
> Then the incoming (server side) request processing (assuming 1 browser,
> you'll want to know what its concurrent requests per server limits are, and
> its usage patterns).
> Then you have the outgoing (client in the proxy) requests that also use
> some of those threads.
> Then you'll also want to understand the usage patterns on that 1 browser.
>
> For example, when I wake up in the morning, I switch to my active Chrome
> window, Open a new window and then open all of my "morning" bookmarks as
> separate tabs.  Instantly creating 54 initial connections (and tabs), that
> blossom to over 400 unique server connections once the responses start
> flowing back and other page resources are being requested.  After about 1
> second I can start using some of quicker websites, while I wait for the
> rest to load.
> Am I unusual? perhaps.
> Am I unique? definitely not, I have encountered many individuals that do
> similar things (often with less tabs, rarely more)
> Could I use RSS instead? (I wish, but most of these sites don't offer it
> anymore)
>
>
> --
> Joakim Erdfelt <[email protected]>
> webtide.com <http://www.webtide.com/> - intalio.com/jetty
> Expert advice, services and support from from the Jetty & CometD experts
> eclipse.org/jetty - cometd.org
>
> On Wed, Oct 8, 2014 at 11:35 AM, Nils Kilden-Pedersen <[email protected]>
> wrote:
>
>> On Wed, Oct 8, 2014 at 1:26 PM, Joakim Erdfelt <[email protected]>
>> wrote:
>>
>>> While its true that request / thread processing on ProxyServlet is async.
>>> The I/O isn't.
>>>
>>> The AsyncProxyServlet uses servlet Async I/O techniques properly and
>>> also ties together the I/O between the servlet and client more tightly.
>>>
>>> Think of it this way.
>>> ProxyServlet is for servlet 3.0
>>> AsyncProxyServlet is for servlet 3.1
>>>
>>
>> When using AsyncProxyServlet and using a Jetty instance exclusively as a
>> proxy, is there any sense in setting the thread pool higher than available
>> cores?
>>
>>
>>>
>>> Also, Jetty 9.1.5?  (Why? Upgrade. 9.2.3 is current)
>>> There's been over 590 commits and 900 files changed since Jetty 9.1.5.
>>>
>>> https://github.com/eclipse/jetty.project/compare/jetty-9.1.5.v20140505...jetty-9.2.3.v20140905
>>>
>>>
>>> --
>>> Joakim Erdfelt <[email protected]>
>>> webtide.com <http://www.webtide.com/> - intalio.com/jetty
>>> Expert advice, services and support from from the Jetty & CometD experts
>>> eclipse.org/jetty - cometd.org
>>>
>>> On Wed, Oct 8, 2014 at 11:05 AM, Petropoulos Vasilis <
>>> [email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>>
>>>>
>>>> What’s the difference between  AsyncProxyServlet.Transparent and
>>>> ProxyServlet.Transparent?
>>>>
>>>> As far as I understand both of them process requests asynchronously.
>>>>
>>>> I am using 9.15
>>>>
>>>>
>>>>
>>>> thanks
>>>>
>>>>
>>>>
>>>> *From:* [email protected] [mailto:
>>>> [email protected]] *On Behalf Of *Joakim Erdfelt
>>>> *Sent:* Wednesday, October 08, 2014 8:49 PM
>>>> *To:* JETTY user mailing list
>>>> *Subject:* Re: [jetty-users] Jetty 9 Proxy
>>>>
>>>>
>>>>
>>>> There's also a AsyncProxyServlet$Transparent
>>>>
>>>>
>>>>
>>>>
>>>> http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/proxy/AsyncProxyServlet.Transparent.html
>>>>
>>>>
>>>>
>>>> If you are going to bother to set async-supported true, might as well
>>>> go whole-hog and use the async version of the proxy as well.
>>>>
>>>>
>>>> --
>>>>
>>>> Joakim Erdfelt <[email protected]>
>>>>
>>>> webtide.com <http://www.webtide.com/> - intalio.com/jetty
>>>>
>>>> Expert advice, services and support from from the Jetty & CometD experts
>>>>
>>>> eclipse.org/jetty - cometd.org
>>>>
>>>>
>>>>
>>>> On Wed, Oct 8, 2014 at 10:44 AM, Matt Deimel <[email protected]> wrote:
>>>>
>>>> I know there's an AsyncProxyServlet, but I wasn't sure how it differs
>>>> from ProxyServlet$Transparent? Is it the preferred approach? Is there much
>>>> difference?
>>>>
>>>>
>>>>
>>>> Thanks.
>>>>
>>>>
>>>>
>>>> On Wed, Oct 8, 2014 at 11:44 AM, Joakim Erdfelt <[email protected]>
>>>> wrote:
>>>>
>>>> You know there's an AsyncProxyServlet, right?
>>>>
>>>>
>>>>
>>>>
>>>> http://download.eclipse.org/jetty/stable-9/apidocs/org/eclipse/jetty/proxy/AsyncProxyServlet.html
>>>>
>>>>
>>>> --
>>>>
>>>> Joakim Erdfelt <[email protected]>
>>>>
>>>> webtide.com <http://www.webtide.com/> - intalio.com/jetty
>>>>
>>>> Expert advice, services and support from from the Jetty & CometD experts
>>>>
>>>> eclipse.org/jetty - cometd.org
>>>>
>>>>
>>>>
>>>> On Tue, Oct 7, 2014 at 7:25 PM, Matt Deimel <[email protected]> wrote:
>>>>
>>>> Hi,
>>>>
>>>>
>>>>
>>>> I'm trying to create an async proxy using Jetty 9.2.3.v20140905. From
>>>> what I've ready and looked at before, I believe that I should be able to do
>>>> this through the web.xml of a maven project, and not require any code.
>>>>
>>>>
>>>>
>>>> Here you can see a very simple project that covers what I think should
>>>> work: https://github.com/mdeimel/jetty-proxy
>>>>
>>>>
>>>>
>>>> Below I have also included the web.xml file. I'm making use of
>>>> ProxyServlet$Transparent, and trying to proxy requests from
>>>> localhost:8080/cnn to www.cnn.com (just as a test). When I run this
>>>> with "mvn jetty:run" and access localhost:8080/cnn, it just tries to load,
>>>> and eventually fails with a 504 Gateway Timeout error.
>>>>
>>>>
>>>>
>>>> I believe this is everything that is required to make an async proxy,
>>>> but I must be missing something. If anyone could lend a hand I sure would
>>>> appreciate it.
>>>>
>>>>
>>>>
>>>> Thanks.
>>>>
>>>>
>>>>
>>>>   --Matt
>>>>
>>>>
>>>>
>>>>     <servlet>
>>>>
>>>>         <servlet-name>proxy</servlet-name>
>>>>
>>>>
>>>> <servlet-class>org.eclipse.jetty.proxy.ProxyServlet$Transparent</servlet-class>
>>>>
>>>>         <init-param>
>>>>
>>>>             <param-name>maxThreads</param-name>
>>>>
>>>>             <param-value>1</param-value>
>>>>
>>>>         </init-param>
>>>>
>>>>         <init-param>
>>>>
>>>>             <param-name>proxyTo</param-name>
>>>>
>>>>             <param-value>http://www.cnn.com</param-value>
>>>>
>>>>         </init-param>
>>>>
>>>>         <init-param>
>>>>
>>>>         <param-name>prefix</param-name>
>>>>
>>>>         <param-value>/cnn</param-value>
>>>>
>>>>         </init-param>
>>>>
>>>>         <async-supported>true</async-supported>
>>>>
>>>>     </servlet>
>>>>
>>>>     <servlet-mapping>
>>>>
>>>>         <servlet-name>proxy</servlet-name>
>>>>
>>>>         <url-pattern>/cnn/*</url-pattern>
>>>>
>>>>     </servlet-mapping>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> jetty-users mailing list
>>>> [email protected]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> jetty-users mailing list
>>>> [email protected]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> jetty-users mailing list
>>>> [email protected]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> jetty-users mailing list
>>>> [email protected]
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>>
>>>
>>>
>>> _______________________________________________
>>> jetty-users mailing list
>>> [email protected]
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>>
>>
>>
>> _______________________________________________
>> jetty-users mailing list
>> [email protected]
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/jetty-users
>>
>
>
> _______________________________________________
> jetty-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/jetty-users
>
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/jetty-users

Reply via email to