Hi,

I have added some use of memcache, however I am still seeing timeouts at the
moment - although it has just said I need a composite index for another part
of my application.

What I don't quite understand is that it appears to be "puts" of new
entities that are timing out and I can't work out why, I do individual
writes of 3 entities and I was thinking of batching these together in a
db.put, but from what I remember that is only a convienince method and
essentially performs the same task.

Paul

2009/4/13 Paul Kinlan <[email protected]>

> Hi,
>
> I will look at using memcache again, it might help a little as I do perform
> some http requests against a user sequentially so it might help a bit.  The
> problem is that I see a lot of timeouts on puts at the moment and I am not
> sure how to remedy them.
>
> Paul.
>
> 2009/4/12 Alkis Evlogimenos ('Αλκης Ευλογημένος) <[email protected]>
>
> Pervasive use of memcache + exponential backoff retries on most operations
>> solved it for me.
>>
>> On Sun, Apr 12, 2009 at 11:55 PM, Paul Kinlan <[email protected]>wrote:
>>
>>> Hi Guys,
>>>
>>> My app is Twitterautofollow.  I have a question about the quota,
>>> basically my app was serving between 6-13 requests a second and jumped up to
>>> 32 requests per-second and subsequently went over the quota.  I am not sure
>>> where the 32 requests a second are comming from although some of them might
>>> come from my ping service that I am running to regularly perform some tasks
>>> - I wouldn't be suprised if it was a bug I created
>>>
>>> Additionally the DataStore CPU Time is Limited even though it is only at
>>> 3% of quota.
>>>
>>> Its starting to get a bit frustrating at the moment because I am having
>>> Data Store Timeouts very often on reads and puts.  Nothing in my model is in
>>> an EntityGroup, that is, there is no use of parent, however there are many
>>> RefernceProperties.
>>>
>>> The general process I have that is causing the process goes as follows
>>>
>>>
>>>    1. Get the user (User Entity) from the datastore
>>>    2. Get the current search term (Search Entity) for the user - I don't
>>>    use the refernce propery set from the user because I need to filter it
>>>       1. Query Twitter
>>>       2. For up to 3 search results add a new entity of type "Follow"
>>>       and reference the search and user
>>>          1. For each result check to see if the "Follow" entity already
>>>          exists for the user - if it does we ignore the result
>>>          3. update the search entity with some basic stats
>>>
>>> Overall there are, with 5 (1 user, 1 search and 3 reads of Follow) reads
>>> and up to 4 puts (3 for new entities 1 for the "Search" entity).  I don't
>>> think this is too heavy, but it might be.
>>>
>>> So my question is, am I being too excessive, why would this cause a lot
>>> of datastore timeouts in both the reads and puts?  What tips do people have
>>> for DataStore performance?
>>>
>>> Thanks,
>>> Paul
>>>
>>>
>>>
>>
>>
>> --
>>
>> Alkis
>>
>> >>
>>
>

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

Reply via email to