Anyone has any idea how this warning message is calculated? "Many of
the requests to your application are taking a very long time. Please
optimize these requests."

It seems I meet quota denials every time this one shows up. I'm unable
to tune anymore if I don't know how it is calculated.

There are several possible algorithms for this in my mind and I need
to know which one is used to be able to move forward:
1. Based on the total number of high CPU requests in a certain period
of time. And what's the CPU usage value to make a request counted in?
1200 mcycles? 1800, or anything else?
2. Based on total CPU consumed by these high CPU.
3. Based on response time.

However, no matter how much I tuned, it's just about time for me to
reach the load limit. Since 30% of my write requests will never
possible to fit the current high CPU bar. It also seems that the high
CPU quota is not increased with the other quota. So say assume 10% of
your requests are high CPU ones, and GAE only allows 1 high CPU
request per second, then you will not be able to scale beyond 10
requests per second, no matter how much CPU quota you have.

There are 3 solutions in my mind:
1. Raise the high CPU bar to fit real world needs like raising it to
10K mcycles.
2. Make the high amount CPU quota scalable and configurable instead of
a fixed number. Such as making it 30% of normal CPU quota. However, I
would still suggest to not even fix the percentage since every
application is different. Better to make it configurable by developer
themselves.
3. Make high amount CPU quota same as other quotas like CPU and
bandwidth. So developer can apply for it if they are running out of
it.

I'm not sure which one is more doable to GAE, but there must be some
solution to be happen otherwise it will not scale.

On Sep 21, 7:27 pm, mitnickcbc <[EMAIL PROTECTED]> wrote:
> I have filed a feature request for this issue, if you feel so please
> star it.
>
> http://code.google.com/p/googleappengine/issues/detail?id=720
>
> Here is the description:
>
> Well, I don't get the purpose for having a High Amount CPU Quota since
> there is already a general CPU Quota. And there are quite a lot of
> problems caused by this quota which restrict my application from
> affording more load. And my application is far away from a 5 million
> month PV app.
> 1. Requests can become a high amount CPU one very easily. A little
> complex request will consume more than 3K mcycles. And what do I mean
> a little
> complex? If you do more than 2 put, or you do a url fetch, or you do a
> query based on an order to select more than 50 model, or you do a put
> on a
> model more than 20 fields, it is that complex. In my case, 80% of the
> requests are that complex and I don't think it can be optimized
> anymore
> since I do need to do put and url fetch.
> 2. Bad visibility to this quota. There is no way we can know when we
> will run out of quota for this. All we got is the warning in admin
> console that
> says our requests are using high amount CPU quota and will soon run
> out of it.
> 3. Doesn't back to normal quickly. I'm using a script to continue
> fetching my data from production and do some offline process.
> Unfortunately I fetch
> too much in one call that I try to get 100 models at a time and which
> makes the request a high CPU one. Soon, I meet quota deny. Then I stop
> my script,
> but after 1.5 hours, I still see quota deny for requests from my
> users. The "Many of the requests to your application are taking a very
> long time.
> Please optimize these requests." warning keeps there even I have
> stopped the script for so long time.
--~--~---------~--~----~------------~-------~--~----~
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-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to