Hi Aaron,

I don't believe that saving an entity with a ReferenceProperty would be
noticeably more expensive than using a unique string instead, the
ReferenceProperty just saves a key of the referenced entity behind the
scenes.

It is possible, since you are doing a significant number of writes, that the
issues you are seeing are related to datastore contention.  Are many of
these writes saving to the same entity group?  If this is the case, keep in
mind that writes to entity groups happen in serial, not parallel.  Writing
too often to the same entity group will definitely increase your time outs.

If it is an issue with contention it would be probable that you would only
notice it as traffic to your application increases. More traffic potentially
means more possibility you are increasing your write frequency to the same
entity group.

-Marzia

On Sat, Jan 3, 2009 at 9:46 AM, Aaron OBrien <aobrien...@gmail.com> wrote:

> My app serves a fair amount of requests about 4 a second and ruffly half of
> them save to the datastore.  It is very fault tolerant so our users
> shouldn't be noticing it - and if they are it's still fairly minor.
> In the last 9 hours we have had 10% of these requests fail (about 13,700
> requests).  Prior to 2 days ago it was not uncommon to see the failure rate
> around 1%  less than 100 failures for over 20 hours.
> The code that saves to the data store saves a model that has a reference to
> another object.  This referenced object is pretty simple - StringProperty
> objects and a couple DateProperty objects.
>
> Is saving this reference more expensive than creating a uniqueId of the
> (simple)object and manually saving a the custom defined uniqueId to it?
>
> If this continues throughout the day I guess I'll turn profiling back on
> and see what's going on...
>
> Any thoughts on re-working the reference? Is it a more expensive operation
> to save and retrieve references to objects rather than a custom unqique key
> to the object?  If I reworked the relationship it would force me to turn
> back around and query to get the referenced object when I need it though.
>
> Thanks for helping!
>
> -Aaron
>
>
> On Sat, Jan 3, 2009 at 2:56 AM, Paul Kinlan <paul.kin...@gmail.com> wrote:
>
>> Hi,
>>
>> I also regularly get datastore timeouts for reads and writes.  Looking at
>> the status monitor there never seem to be any "problems".
>>
>> Kind Regards,
>> Paul Kinlan
>>
>> 2009/1/3 Xavier Mathews <xavieruni...@gmail.com>
>>
>>
>>> Place it in the issue tracker.
>>>
>>> On 01/02/2009, Alexander Kojevnikov <alexan...@kojevnikov.com> wrote:
>>> >
>>> >> My application is getting a very high number of data store timeouts.
>>> >>
>>> >> Is there an unreported issue going on right now?
>>> >>
>>> > The status monitor doesn't show anything unusual:
>>> > http://code.google.com/status/appengine/detail/datastore/2009/01/02
>>> >
>>> > >
>>> >
>>>
>>>
>>> --
>>> Xavier A. Mathews
>>> Student/Browser Specialist/Developer/Web-Master
>>> Client Based Tech Support Specialist
>>> Hazel Crest Illinois
>>> xavieruni...@gmail.com¥xavierunited@hotmail.com¥truestar...@yahoo.com
>>> "Fear of a name, only increases fear of the thing itself."
>>>
>>>
>>>
>>
>>
>>
>
> >
>

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