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

Reply via email to