Hi,

We are developing a Java app for Google App Engine. We did some
testing today using "ab" to hit a particular URL. We had 1000
concurrent threads in ab hitting the URL 1 million times.

We were surprised by the response times. A lot of the responses were
taking well over a second to return with some even taking up to 4
seconds. This is a lot higher than we would like. From looking at the
logs it seems the majority of the time is in "pending_ms". At the peak
of the traffic GAE had a total of 7 instances with 4 active
instances.

Could someone explain what "pending_ms" actually means? What can we do
to improve it?


Some application details:
- <threadsafe>true</threadsafe> in the appengine-web.xml file.
- the app uses the Restlet framework
- the URL we hit returns JSON data less than 2kb in size
- the app increments a counter in memcache for each request
- the datastore is _not_ hit for a typical request
- we have a cron that runs every couple minutes to persist the
counters to the datastore


Here is a typical log entry:

50.16.218.117 - - [26/May/2011:02:51:26 -0700] "GET /v1/{my_url} HTTP/
1.1" 200 370 - "ApacheBench/2.3,gzip(gfe)" "{appname}.appspot.com"
ms=1262 cpu_ms=19 api_cpu_ms=0 cpm_usd=0.000604 pending_ms=1179

note: I have removed the actual app name and URL.


Thanks for your help.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
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