Hi David,

On Mon, Jan 26, 2009 at 9:54 PM, iDavid <idavidst...@gmail.com> wrote:
> I created a root group entity for each Device.
> I modified the Note entity to use it's Device as its parent.
>
> device = Device.get_by_key_name(name)
> if device != None:
>    for n in noteList:
>        note = Note(parent=device, n)
>        note.put()

Have you considered using a batch-put here? Like this:

device = Device.get_by_key_name(name)
if device:
  notes = [Note(parent=device, n) for n in noteList]
  db.put(notes)

That should do the writes in parallel, which should increase your throughput.

> Now I'm seeing this error:
> The API call datastore_v3.Get() required more quota than is available.

Otherwise, it sounds like you're hitting quota limits, which is
probably related to the way you're running your load test. How many
requests per second were you issuing? Approximately how many Note
entities were you inserting per second? 10 CPU seconds per second
doesn't make this quite clear.

We have short-term quota limits in place for handling very large
bursts of usage. More detail is here:
http://code.google.com/appengine/docs/quotas.html#Burst_Limits

You may be hitting one of these burst quotas because of your load.
Another possibility is that you're using key_names for your Device and
Note instances that are sequential or lexically "close", which could
cause hotspots in your Bigtable access patterns. When you run the load
test, in what order are you writing Notes to Devices?

-Brett

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