Hi, there's something about this in the docs: 
http://code.google.com/intl/en/appengine/docs/adminconsole/instances.html

"Multi-threaded instances can handle many concurrent requests. Therefore, 
there is a direct relationship between the CPU consumed and the number of 
requests/second."
....
"For example, if a B4 backend 
instance<http://code.google.com/appengine/docs/python/backends/overview.html#Billing_Quotas_and_Limits>
 (approx 
2.4GHz) consumes 10 Mcycles/request, you can process 240 
requests/second/instance."

I don't know if this promise holds true, but from my own testing it seems 
to come close. Typically I see up to 6 threads hitting an instance 
concurrently. To make a forecast you may want to look at the number of 
Megacycles your requests take.
You will find them on the dashboard in the "Current Load" section. Also, 
appstats shows you CPU usage in ms. These are scaled towards an 1.2GHz 
instance however.

Unfortunately, the cpu_ms found in the logs have no abvious correlation to 
the actual CPU Megacycles. So these are rather useless.

CPU cycles are only used up when there's actually code running not while 
being in a blocking API call and also not when laying the thread asleep. 
This seems trivial, but I have tested it out anyway just to be sure 
appengine really counts cycles this way.
BTW, each request seems to have an overhead of about 10 Megacycles that you 
can't avoid.

Wolfram

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine-java/-/uI_8qX91De8J.
To post to this group, send email to google-appengine-java@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