The math is:

(1000 ms/second / 75 ms/request) * 30 = 400 requests/second

Google assumes that you can run all your requests in 75ms, which gives you the 
400req/sec number.  They say you should be able to do 30 simultaneous requests. 
 We have been testing this lately and can only get 10, but that is an ongoing 
discussion.

Interesting though, since one query takes ~500ms according to todays status 
page.  Hard to do 75ms on a heavier application/request. :(

http://code.google.com/status/appengine/detail/datastore/2010/03/02#ae-trust-detail-datastore-query-latency
 
We are continuing to tune and reduce request length as always, but even with 
fairly low amounts of traffic we hit this limit.


On Mar 2, 2010, at 11:07 AM, Marc Provost wrote:

> Hi David,
> 
> I don't have a precise answer, but I think you are going in the right
> direction. The idea is to minimize the response time of your most
> popular requests using memcache. Try to cache the html pages derived
> from the datastore queries. It is easy to drop the request time to a
> few hundred ms or even less that way (depending how much you can cache
> and if you use java or python). This approach works well if your users
> are interested in the same entities. For example a news site can
> easily cache its more popular articles that way. For entities/queries
> that are specific to each user, but might be reused in many pages,
> cache it as soon as possible!
> 
> Hope it helps,
> Marc
> 
> 
> On Mar 2, 3:21 am, Waleed Abdulla <wal...@ninua.com> wrote:
>> I got the same errors today on my dev app, which I'm the only user of. So it
>> doesn't seem to be related to how much load the app has!! I've been noticing
>> them on my production app as well on and off.
>> 
>> Waleed
>> 
>> On Mon, Mar 1, 2010 at 7:22 PM, Satoshi <satoshi.nakaj...@gmail.com> wrote:
>>> I've got the same warnings several time today too. The peak access
>>> rate was only 3.00 requests/sec, and the CPU time usage over the last
>>> 24 hours is 6% (1.08 CPU hours) out of 18.50 CPU hours (I am a paying
>>> customer).
>> 
>>> Satoshi
>> 
>>> On Mar 1, 6:51 pm, David <dscri...@gmail.com> wrote:
>>>> I am losing sleep over this, so any help would be greatly appreciated!
>> 
>>>> APP ID: conit-app01
>> 
>>>> Since our app released about a week ago, it has been getting an
>>>> average of about 60 requests/second.  On February 27, our app suddenly
>>>> crashed and was down for several hours, with thousands of these errors
>>>> appearing in the logs:
>> 
>>>> Request was aborted after waiting too long to attempt to service your
>>>> request. Most likely, this indicates that you have reached your
>>>> simultaneous dynamic request limit. This is almost always due to
>>>> excessively high latency in your app. Please seehttp://
>>> code.google.com/appengine/docs/quotas.htmlfor more details.
>> 
>>>> Since getting this error, I filled out a request to increase this
>>>> limit at:
>>> http://code.google.com/support/bin/request.py?contact_type=AppEngineC...
>> 
>>>> This request was denied, because, "your app has been using, over the
>>>> past 24 hours, on average 60 QPS with a peak of ~135 QPS; thus you're
>>>> well under the 500 QPS limit described above."
>> 
>>>> Since this crash, I've also been working to decrease calls to the
>>>> datastore, and I think our average CPU time has decreased around 30%.
>>>> In the dashboard, one of our pages still appears "yellow" under the
>>>> column "Average CPU (API)", with a speed of about 1100.  This page is
>>>> about 6% of the volume of our app.  The other pages don't have any
>>>> warnings.  We are well within the limits of our billing.
>> 
>>>> I would feel much better if I could understand the math/metrics that
>>>> go into producing this error, so it doesn't happen again.  How can I
>>>> know if my page request times are low enough?  If I add a new page
>>>> with a higher CPU time, how can I know if it would make the app crash?
>> 
>>>> Any help or references to details on this error would be appreciated.
>> 
>>>> Thank you in advance.
>>>> -David
>> 
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Google App Engine" group.
>>> To post to this group, send email to google-appeng...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> google-appengine+unsubscr...@googlegroups.com<google-appengine%2bunsubscr...@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 post to this group, send email to google-appeng...@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 post to this group, send email to google-appeng...@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