Hi Waldemar, On Oct 27, 4:29 pm, Waldemar Kornewald <[EMAIL PROTECTED]> wrote: > Hi Jeff, > > On 27 Okt., 19:34, Jeff S <[EMAIL PROTECTED]> wrote: > > > > How are we supposed to work with list properties if they kill our app > > > even with just a few entries? I thought that if 5000 index entries per > > > entity is the limit then we can easily work with, say, 3000 index > > > entries. Is that not the case? Will that change if we pay for the > > > service? > > > List properties themselves are not necessarily expensive, the > > structure of the app's queries can have a large impact on the indexes > > which will need to be updated on datastore writes. > > Our queries and indices are rather simple. I should clarify: > The particular problem I'm talking about is a view that currently has > a response time of about 360ms and almost all of the time (280ms) is > spent on datastore put()/fetch()/get(). IOW, runtime CPU usage is low. > If you only read data then 360ms would probably consume less than > 1500mcycles, but since this view primarily writes to the datastore it > consumes more than 10,000mcycles! That's really bothering me because I > already get yellow warnings for views that consume more than > 1000mcycles and here I have red warnings. How am I supposed to > implement a simple write operation if it eats mcycles so quickly? Can > I just ignore the warning since only runtime cpu counts and we > primarily consume datastore cpu in this case?
>From your description, it sounds like the datastore CPU usage need not concern you. If the CPU Usage listed on the admin console is at an acceptable level and the logs do not contain large amounts of high CPU request warnings, then your app should be okay. > > Still, isn't the factor of mycles consumption for write operations a > little bit too high? > > > > How quickly should a transaction finish in order to not cause a CPU > > > warning if it only does one single get() and put()? > > > There isn't a solid limit in terms of time for write operations. As > > you are aware, there is a time limit for your app to respond to an > > HTTP request which would be a hard limit for writes. If a datastore > > operation is taking too long, it may raise a Timeout error so if you > > are consistently seeing these it may indicate a problem with the cost > > of writing an entity in the app. > > I should've stated my question differently: If I do a computation > within a transaction (e.g., factorize a big number :) does it count as > runtime CPU or as datastore CPU? That would be runtime CPU. The factorization code would still be executed in the runtime, the transactional nature refers to changes to the entities in the datastore. > > Thanks! > > Bye, > Waldemar Kornewald --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---