Jeff: Thanks for the reponse/suggestion.

Here are one of my most common requests:
  

ms=30 cpu_ms=0 api_cpu_ms=0 cpm_usd=0.000263

Seems to be no problems with anything...

And here is another (different request):
ms=15376 cpu_ms=37 api_cpu_ms=17 cpm_usd=0.003428 pending_ms=8265

Seriously ?  15 seconds response ?  Of which, 8 seconds sitting in pending ?  
And what happened to the other 7 seconds ?

This does not seem to be a CPU issue (cpu_ms is super low!).

My customers requests are just sitting about doing nothing... and I don't know 
enough to know where the latency is coming from!  This really is very 
frustrating.


I have also tried to limit the number of idle instances and watched the error 
rate.  There is NO correlation between the two. :(

-R


On Sunday, July 8, 2012 4:58:10 PM UTC-4, Jeff Schnitzer wrote:
>
> Since you have a multi-threaded app, the very first thing I would try 
> is switch to F4 instances.  You may not need the memory, but 
> concurrency is theoretically limited by CPU utilization.  You may find 
> that one F4 gives you better results than four F1s. 
>
> Jeff 
>
> On Sun, Jul 8, 2012 at 1:14 PM, Richard <steven...@gmail.com> wrote: 
> > I have an app that produces: "request was aborted" errors.  My users are 
> > getting pissed.  So am I.  I thought App Engine was meant to scale ? 
> > 
> > The app is running up to 40 instances to serve 500 users.  All 500 users 
> > will query the app within a 5 second window (like a mini-DDOS).  It is 
> > python 2.7 and marked as thread-safe.  Why one instance can only serve 
> under 
> > 20 users, I don't know !  Average memory usage is 44MB on F1 instances. 
> > 
> > Latency is set at max 500msec.  I have tried setting idle instances to 
> > 20-Automatic.  Billing has been around $30 for the last 12 hours. 
>  However 
> > this is CRAZY.  It cost me $30 to push out 1.25GB of data to under 500 
> users 
> > (500 is the peak!)  ?!? 
> > 
> > The stupid part is the code looks like this: 
> >         global GAME_DATA 
> >         global GAME_DATA_TIMESTAMP 
> >         delta = datetime.datetime.now() - GAME_DATA_TIMESTAMP 
> >         if delta.total_seconds() < 5.: 
> >                 # return cached data 
> >                 game = GAME_DATA 
> >         else: 
> >                 # get new 
> >                 cg_ref = 
> CurrentGame.get_by_key_name(current_game_key_name) 
> >                 game = cg_ref.k 
> >                 GAME_DATA = game 
> >                 GAME_DATA_TIMESTAMP = datetime.datetime.now() 
> > 
> >         data = {'s': 'OK', 'g': game.board } 
> >         self.response.out.write(json.dumps(data)) 
> > 
> > Yes, that's right... we don't actually do 500 db queries... 
> > 
> > At this point, I think there is some internal throttle with GAE that 
> only 
> > allows a limited number of http connections at once and just kills off 
> the 
> > rest or something. 
> > 
> > Can only explain what is going on here, or point me to a competent 
> > consultant who I can pay to tell me how to fix this ? 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "Google App Engine" group. 
> > To view this discussion on the web visit 
> > https://groups.google.com/d/msg/google-appengine/-/Bgk6iG2U7pkJ. 
> > To post to this group, send email to google-appengine@googlegroups.com. 
> > To unsubscribe from this group, send email to 
> > google-appengine+unsubscr...@googlegroups.com. 
> > For more options, visit this group at 
> > http://groups.google.com/group/google-appengine?hl=en. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine/-/e8hIk5LfoUQJ.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to