Hi,

I asked once before, but I'm getting some painfully slow requests in my
app.  Even on queries that I am certain only fetch a few entities, (5-10 max
under absolutely worst case circumstances).  I also take advantage of memory
caching wherever possible, and I have confirmed (via logging) that I'm
pulling from the cache.  Some requests are taking upwards of 2-3 seconds.
And given that my app right now is mostly a web service and not running in a
browser, there's quite a few things that are perplexing me.  SO I have a few
questions:

   - I'm running JAX-RS (Jersey), a little Groovy, low level API (no JDO or
   JPA), and Guice (yep, I'm a Google fanboy). I have identified where Groovy
   is being slow, and came up with a workaround for that, so I'm not too
   concerned.
   - What's a reasonable number of entities I should fetch from the
   datastore per request?  I currently fetch at least one per request to
   validate a user's login credentials, so no matter what I'm fetching at least
   one per request.  Adding up the numbers in my head, I don't think that
   - Even with aggressive caching, (all of my data objects get put in
   memcache), it still behaves rather slowly?  What is the penalty speed-wise
   for using a transaction?  I can't use caching with a transaction obviously
   because I can't be guaranteed any consistency of data.  If I start a
   transaction and and commit it or roll it back and perform no operations in
   it, what is the penalty?  I'm certain this happens in my app, albeit very
   infrequently.
   - What's up with queries?  They just tend to be really really slow.
   - I know loading requests are a problem, but I'm not hitting many of
   those according to the logs, so I can rule those out as being a contributing
   factor (unless there's something I don't know).  I also don't use JSPs, most
   of it is static.
   - How much of a performance difference does a bulk fetch/put cost versus
   a bunch of individual ones?  I haven't seen much of a difference, but maybe
   I'm doing it wrong.
   - There are zero use cases in my application where more than two users
   write to the same entity group, except for a counter for which I use
   sharding offloaded to the task queue.  Is there a penalty for many users
   reading from a single entity group at the same time?


Thanks,

-- 
Patrick H. Twohig.

Namazu Studios
P.O. Box 34161
San Diego, CA 92163-4161

-- 
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