If your app is resistant to malicious use, ie the gathered data is
presented to the user only from which it was taken... than I would
suggest to shift your api calls from Server side to client side. Do
all the api calls on client side and POST them to your server for
processing using FBJS.
Actually In terms of requests per second I was seeing was around 8
[didn't pay constant refresh attention]... Strangely though, the total
number of requests didn't accurately reflect the actual requests I
performed (in the dashboard -- not in the quota details page). This
may be due to some bug
Julian brings up a good point. I was also wondering what kind of QPS
you were seeing on your app during one of these tests. Since the
response from the server likely comes back pretty quickly, ten threads
could generate quite a few requests in a second.
Thank you,
Jeff
On Apr 2, 8:01 pm,
You might want to have a look to this App Engine video by Ken
Ashcraft:
http://www.youtube.com/watch?v=dP99fLhGwAU
App Engine scales, but not instantaneously, so if you want to do a
large number of requests in parallel, you need to increase the volume
gradually.
Julian
On Apr 3, 4:26 am,
At this point I am suspicious that the timeout error may coming from
the client side. Which version of Python are you using to run the
client? Also, did you set any timeout options elsewhere (looks like
no)?
It may also be the case that the app responds more slowly after the
initial burst due to
From the quota details page, the current default limit for
simultaneous active dynamic requests is around 30 per app.
http://code.google.com/appengine/docs/quotas.html#Request_Limits
(However, it may be possible to raise these limits on a case by case
basis
Well the only way I could think of would be client side threading (so
that I could process multiple requests). Or simultaneous ajax (not so
well supported). Either way it would be on the client side, because as
far as I know it can't be done on GAE side...
On Mar 31, 2:52 pm, Jeff S
Wow Doesn't seem like GAE is happy with this arrangement:
I set up a simple system like so (in python)
[code]
import threading
import urllib2
class MyThread ( threading.Thread ):
def __init__ (self,j):
threading.Thread.__init__(self)
self.j=j