Hey James,

Also thanks for the clarification.  It hadn't occurred to me that what
appeared to be frequent restarts could be an additional JVM.  I'm
still not entirely familiar with that concept, but I get the basic
idea that requests served to the same client may not always come from
the same instance of my application.  As the only traffic I've seen
is...me...I just assumed it was all one instance.

Anyways, are issues #1-4 really linked together?  I'm less concerned
about slow startup than constant startup.  Also, while I haven't read
the ENTIRE thing, Issue #2456 talks about paying to keep a warm JVM,
which I'm not interested in...  I don't mind a 6-10 (or 15 second)
delay on the first request in, say, the span of an hour.  I just mind
it when it's every single request.

Jake

On Mar 18, 1:44 pm, "James Koch" <jamesk...@gmail.com> wrote:
> In my short time using GAE I've seen several issues discussed under the
> label "response times".  The lines between these issues are fuzzy, and we
> aren't all talking about "response times" using the same semantics.  As an
> example, Jake, you might not be seeing frequent restarts, you could also be
> seeing spinup of additional JVMs (even though you're low-traffic like me).
>
> Maybe enumerating them will help us all pull in the same direction?  Here
> are the issues I've seen mentioned:
>
> 1 - Slow JVM startup speed (5-7s for something that uses JDO and no other
> frameworks)
>
> 2 - Not affecting me personally, but startup cost of other frameworks
> (Struts, etc.) has definitely been mentioned.
>
> 3 - Frequent JVM restarts (after 1 min of inactivity) - This interval feels
> too short to me, as a small app developer.
>
> 4 - Frequent "server overload" caused by OTHER apps, which cause a request
> to be re-routed to a new JVM instead of a warm one, thus incurring the
> startup penalty regardless of user activity levels.
>
> 5 - "Request was aborted after waiting too long" on normally fast-loading
> pages.  Presumably similar to #3 (caused by "server overload" from OTHER
> apps) but something else is awry here as these occurs often occur after only
> 10s, not the expected 30s.  If you've got a 7s JVM spinup, that doesn't
> leave you a lot of wiggle room.  Also, this only shows up in logs as a
> "warning".  IMO, if a user can't receive a response, that's an "error".  
>
> Issue tracking:
> #5 covered by Issue #2396.
> #1-4 all munged together in massive Issues #2456
>
> James
>
> -----Original Message-----
> From: google-appengine-java@googlegroups.com
>
> [mailto:google-appengine-j...@googlegroups.com] On Behalf Of Jake
> Sent: Thursday, March 18, 2010 12:56 PM
> To: Google App Engine for Java
> Subject: [appengine-java] Re: App instance recycling and response times - is
> there solution?
>
> Hey,
>
> So, I've noticed several users complaining about *frequent* restarts,
> not long restarts.  I created this issue awhile back but no one has
> starred it.  My impression from the Google developers I've talked to
> is that this is not common enough to become a priority.  If you
> disagree, star the issue.
>
> http://code.google.com/p/googleappengine/issues/detail?id=2931
>
> If it truly isn't common, then I'll probably just end up creating
> another account and redeploying since it has been established that my
> application isn't the cause.
>
> Jake
>
> On Mar 17, 11:35 pm, James Koch <jamesk...@gmail.com> wrote:
> > As a followup, today (3/17) from 1-3PM PST I received several
> > instances of "Request
> > was aborted after waiting too long to attempt to service your request."
> This
> > is on my app w/ zero users, just 3 requests/minute of a blank page as a
> test
> > load.
>
> > On Thu, Mar 11, 2010 at 1:50 PM, Don Schwarz <schwa...@google.com> wrote:
> > > Can you respond privately with your app id?
>
> > > On Thu, Mar 11, 2010 at 10:10 AM, James <jamesk...@gmail.com> wrote:
>
> > >> I setup some pings of my add a few minutes ago, and I'm still seeing
> > >> recycling :(
>
> > >> My ping setup can't go lower than 60s intervals, so I have two running
> > >> concurrently.  Here's a sample of 20 log entries over 10 minutes,
> > >> with .  Three recyclings occur, and they happen less than 10s after a
> > >> previous request.  Really Google, you're killing my JVM after TEN
> > >> SECONDS?  And I get to pay you for the ton of CPU each startup uses?
> > >> Sounds like the more recycling, the more profitable the App Engine
> > >> becomes.
>
> > >> -
> > >> * 03-11 08:02AM 38.506 /?Pragma=no-cache 200 2158ms 2235cpu_ms 0kb
> > >> Site 24 X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 08:02AM 23.144 /?Pragma=no-cache 200 53ms 19cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 08:01AM 06.134 /?Pragma=no-cache 200 75ms 19cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 08:00AM 51.707 /?Pragma=no-cache 200 49ms 19cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 08:00AM 05.823 /?Pragma=no-cache 200 49ms 58cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:59AM 51.499 /?Pragma=no-cache 200 56ms 38cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:59AM 05.584 /?Pragma=no-cache 200 47ms 19cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:58AM 51.274 /?Pragma=no-cache 200 61ms 38cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:58AM 05.371 /?Pragma=no-cache 200 64ms 19cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:57AM 51.025 /?Pragma=no-cache 200 74ms 19cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >> * 03-11 07:56AM 57.327 /?Pragma=no-cache 200 7835ms 2119cpu_ms 0kb
> > >> Site 24 X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:56AM 50.784 /?Pragma=no-cache 200 75ms 58cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:55AM 57.008 /?Pragma=no-cache 200 50ms 19cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >> * 03-11 07:55AM 46.384 /?Pragma=no-cache 200 4250ms 2060cpu_ms 0kb
> > >> Site 24 X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:54AM 56.782 /?Pragma=no-cache 200 70ms 38cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:54AM 46.157 /?Pragma=no-cache 200 54ms 38cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:53AM 56.586 /?Pragma=no-cache 200 52ms 19cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:53AM 45.934 /?Pragma=no-cache 200 51ms 38cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:52AM 56.240 /?Pragma=no-cache 200 62ms 38cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >>  03-11 07:52AM 45.718 /?Pragma=no-cache 200 57ms 19cpu_ms 0kb Site 24
> > >> X 7 RPT-HTTPClient/0.3-3E,gzip(gfe)
> > >> -
>
> > >> On Jan 30, 11:02 pm, Alyxandor <a.revolution.ultra.b...@gmail.com>
> > >> wrote:
> > >> > If you are experiencing failed requests on your long-running /
> > >> > requests, consider performing some kind of "pre-warming" procedure of
> > >> > your own...  If you are getting timeout errors, Ping a do-nothing
> url,
> > >> > and wait for it to return before running the big job.  If it's a big
> > >> > job, users should expect to wait anyway {and you should tell them
> they
> > >> > are waiting!}, so the ping ensures {almost} that a warm JVM is
> running
> > >> > in the server nearest said users, and then the big /request can
> > >> > {usually} avoid getting killed with extra spin up time.  Very unlucky
> > >> > users would get a /ping on an old JVM, and /request a new one, but...
> > >> > Technology isn't perfect...  YET!
>
> > >> --
> > >> You received this message because you are subscribed to the Google
> Groups
> > >> "Google App Engine for Java" group.
> > >> To post to this group, send email to
> > >> google-appengine-j...@googlegroups.com.
> > >> To unsubscribe from this group, send email to
>
> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2Bu
> nsubscr...@googlegroups.com>
> > >> .
> > >> For more options, visit this group at
> > >>http://groups.google.com/group/google-appengine-java?hl=en.
>
> > >  --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Google App Engine for Java" group.
> > > To post to this group, send email to
> > > google-appengine-j...@googlegroups.com.
> > > To unsubscribe from this group, send email to
>
> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2Bu
> nsubscr...@googlegroups.com>
> > > .
> > > For more options, visit this group at
> > >http://groups.google.com/group/google-appengine-java?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To post to this group, send email to google-appengine-j...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine-java+unsubscr...@googlegroups.com.
> For more options, visit this group 
> athttp://groups.google.com/group/google-appengine-java?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to