Does the app get a lot of front-end traffic or is it sitting idle when
the delays occur?




On Mon, Feb 6, 2012 at 01:38, Carter Maslan <[email protected]> wrote:
> I Just looked at the last 80 that ran.
> That queue's tasks are running in between 19ms and 2486ms with most of them 
> running around 28ms.  The variability relates to the number of quadtree 
> searches needed, but other queues that experience similar delays have running 
> time without much variation(e.g. predictable counter updates)
> When the delays happen, there just aren't many tasks in the queue at all.
> It appears that the delayed tasks are just sitting in the queue idle.
>
>
>
> On Feb 5, 2012, at 9:17 PM, Robert Kluin <[email protected]> wrote:
>
>> That's interesting.  Did the queue sit there for a long time not
>> running anything, or running tasks very slowly?  Are the tasks in that
>> queue generally long-running?
>>
>> I _very_ infrequently bump into that type of issue, but I periodically
>> will see one queue slow down for a while.  It *seems* to happen far
>> more often in queues with slower tasks, but I don't have any recent
>> empirical evidence of that.  And I *think* I've been told that should
>> not be the case.
>>
>>
>> Robert
>>
>>
>>
>> On Sun, Feb 5, 2012 at 19:27, Carter Maslan <[email protected]> wrote:
>>> Nicholas -
>>>
>>> For our examples of the 10-20 minute delay:
>>> app_id=s~camiologger
>>> queue=image-label
>>> (but several other queues experience the same long delays sometimes:
>>> content-process, counter-update, etc...)
>>>
>>> The tasks were not added with transactions; just this code:
>>> Queue queueP =
>>> QueueFactory.getQueue(ServerUtils.QUEUE_NAME_IMAGE_LABEL_PUSH);
>>> TaskHandle th = queueP.add(withUrl(ServerUtils.PATH_ADMIN_MOTION_LABEL)
>>>
>>> .param("key", contentKeyString)
>>>
>>> .method(TaskOptions.Method.GET));
>>>
>>>
>>> Let me know if you need more info.  We noticed this in the last few weeks.
>>> Carter
>>>
>>>
>>>
>>> On Sun, Feb 5, 2012 at 4:05 PM, Dave Loomer <[email protected]> wrote:
>>>>
>>>> As the OP you may be interested in my app ID as well: mn-live.  I
>>>> provided some logs a few posts back and some exhaustive details at the
>>>> beginning.
>>>>
>>>> However, you won't see this issue popping up anymore on my app since I
>>>> "solved" it by setting countdown=1 a week ago. Since then, tasks start
>>>> very reliably after a 1.5 second delay.  If I remove the countdown
>>>> parameter, then it returns to 20 seconds (+/- .01) pretty reliably.
>>>>
>>>> On Feb 5, 5:59 pm, Nicholas Verne <[email protected]> wrote:
>>>>> We would have no need to shoot anyone.
>>>>>
>>>>> However, the explanations quickly become obsolete. They enter the
>>>>> folklore in the form that was current at the time and become
>>>>> entrenched as incorrect information when the implementations have
>>>>> changed.
>>>>>
>>>>> Task Queues use best effort scheduling. They're not real time all the
>>>>> time, although when our best efforts are running smoothly they can
>>>>> appear real time. For scheduling, the task eta marks the earliest time
>>>>> at which the task can run. We can't guarantee that a task WILL run at
>>>>> that time.
>>>>>
>>>>> Steve, we're interested to know about the 10-20 minute delays you've
>>>>> seen. Can you tell us the app id, queue, and whether the tasks were
>>>>> added transactionally? An example from your logs would be very
>>>>> helpful.
>>>>>
>>>>> Nick Verne
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Mon, Feb 6, 2012 at 9:27 AM, stevep <[email protected]> wrote:
>>>>>> Carter wrote: We regularly but erratically see 10-20 minute delays in
>>>>>> running push queue tasks.
>>>>>
>>>>>> Been a burr under the saddle forever. What I really don't understand
>>>>>> -- assuming GAE engineers never see the benefit of providing at least
>>>>>> one priority/reliability queue -- is why the heck there is never any
>>>>>> explanation about how tasks get scheduled, and why these weird delays
>>>>>> happen. It is either: 1) If we told you we would have to shoot you, or
>>>>>> 2) We can't see the benefit of you understanding this.
>>>>>
>>>>>> -stevep
>>>>>
>>>>>> On Feb 5, 9:24 am, Carter <[email protected]> wrote:
>>>>>>> We regularly but erratically see 10-20 minute delays in running push
>>>>>>> queue tasks.
>>>>>>> The tasks sit in the queue with ETA as high as 20 minutes *ago*
>>>>>>> without any errors or retries.
>>>>>
>>>>>>> (the problem seems unrelated to queue settings since our Maximum
>>>>>>> Rate,
>>>>>>> Enorced Rate and Maximum Concurrent all far exceed the queue's
>>>>>>> throughput at the time of the delays)
>>>>>
>>>>>>> Any tips or clues on how to prevent this while still using push
>>>>>>> queues
>>>>>>> without backends?
>>>>>
>>>>>>> On Feb 1, 9:03 pm, Robert Kluin <[email protected]> wrote:
>>>>>
>>>>>>>> Hey Dave,
>>>>>>>>   Hopefully Nick will be able to offer some insight into the cause
>>>>>>>> of
>>>>>>>> your issues.  I'd guess it is something related to having very few
>>>>>>>> tasks (one) in thequeue, and it not getting scheduled rapidly.
>>>>>
>>>>>>>>   In your case, you could use pull queues to immediately fetch the
>>>>>>>> nexttaskwhen finished with atask.  Or even to fetch multiple tasks
>>>>>>>> and do the work in parallel.  Basically you'd have a backend that
>>>>>>>> ran
>>>>>>>> a loop (possibly initiated via a pushtask) that would lease atask,
>>>>>>>> or tasks, from the pullqueue, do the work, delete those tasks, then
>>>>>>>> repeat from the lease stage.  The cool thing is that if you're, for
>>>>>>>> example, using URL Fetch to pull data  this might let you do it in
>>>>>>>> parallel without increasing your costs much (if any).
>>>>>
>>>>>>>> Robert
>>>>>
>>>>>>>> On Wed, Feb 1, 2012 at 14:25, Dave Loomer <[email protected]>
>>>>>>>> wrote:
>>>>>>>>> Here are logs from three consecutivetaskexecutions over the past
>>>>>>>>> weekend,
>>>>>>>>> with only identifying information removed. You'll see that
>>>>>>>>> eachtask
>>>>>>>>> completes in a few milliseconds, but are 20 seconds apart
>>>>>>>>> (remember: I've
>>>>>>>>> already checked myqueueconfigurations, nothing else is running on
>>>>>>>>> this
>>>>>>>>> backend, and I later solved the problem by setting countdown=1
>>>>>>>>> when adding
>>>>>>>>> thetask).  I don't see any pending latency mentioned.
>>>>>
>>>>>>>>> 0.1.0.2 - - [27/Jan/2012:18:33:20 -0800] 200 124 ms=10 cpu_ms=47
>>>>>>>>> api_cpu_ms=0 cpm_usd=0.000060 queue_name=overnight-tasks
>>>>>>>>> task_name=15804554889304913211 instance=0
>>>>>>>>> 0.1.0.2 - - [27/Jan/2012:18:33:00 -0800] 200 124 ms=11 cpu_ms=0
>>>>>>>>> api_cpu_ms=0
>>>>>>>>> cpm_usd=0.000060 queue_name=overnight-tasks
>>>>>>>>> task_name=15804554889304912461
>>>>>>>>> instance=0
>>>>>>>>> 0.1.0.2 - - [27/Jan/2012:18:32:41 -0800] 200 124 ms=26 cpu_ms=0
>>>>>>>>> api_cpu_ms=0
>>>>>>>>> cpm_usd=0.000060 queue_name=overnight-tasks
>>>>>>>>> task_name=4499136807998063691
>>>>>>>>> instance=0
>>>>>
>>>>>>>>> The 20 seconds seems to happen regardless of length oftask. Even
>>>>>>>>> though my
>>>>>>>>> tasks mostly complete in a couple minutes, I do have cases where
>>>>>>>>> they take
>>>>>>>>> several minutes, and I don't see a difference. Of course, when
>>>>>>>>> atasktakes
>>>>>>>>> 5-10 minutes to complete, I'm going to notice and care about a
>>>>>>>>> 20-second
>>>>>>>>> delaymuch less than when I'm trying to spin through a few tasks in
>>>>>>>>> a minute
>>>>>>>>> (which is a real-world need for me as well).
>>>>>
>>>>>>>>> When reading up on pull queues a while back, I was a little
>>>>>>>>> confused about
>>>>>>>>> where I would use them with my own backends. I definitely could
>>>>>>>>> see an
>>>>>>>>> application for offloading work to an AWS Linux instance. But in
>>>>>>>>> either
>>>>>>>>> case, could you explain why it might help?
>>>>>
>>>>>>>>> I saw you mention in a separate thread how M/S can perform
>>>>>>>>> differently from
>>>>>>>>> HRD even in cases where one wouldn't expect to see a difference.
>>>>>>>>> When I get
>>>>>>>>> around to it I'm going to create a tiny HRD app and run the same
>>>>>>>>> tests
>>>>>>>>> through that.
>>>>>
>>>>>>>>> I also wonder if M/S could be responsible for frequent latencies
>>>>>>>>> in my admin
>>>>>>>>> console. Those have gotten more frequent and annoying the past
>>>>>>>>> couple of
>>>>>>>>> months ...
>>>>>
>>>>>>>>> --
>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>> Google Groups
>>>>>>>>> "Google App Engine" group.
>>>>>>>>> To view this discussion on the web visit
>>>>>>>>> https://groups.google.com/d/msg/google-appengine/-/lbNQRQdSx0AJ.
>>>>>
>>>>>>>>> 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.
>>>>>
>>>>>> --
>>>>>> 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
>>>>>> athttp://groups.google.com/group/google-appengine?hl=en.
>>>>
>>>> --
>>>> 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.
>>>>
>>>
>>> --
>>> 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.
>>
>> --
>> 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.
>>
>
> --
> 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.
>

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