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.