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
