About a month ago, I tested Pull Queues for a term project, attached my 
test files and the resulting paper (keep in mind that, since I allocate a 
short time for academic stuff, the quality is low :)

I chose Pull Queues, as they let me down hard in the past, I was hoping to 
be surprised this time, but I sadly wasn't

As a TL;DR, the results are:

1) Pull Queues are built to scale with push operations (add operations 
don't fail), however, each *single* task, takes 4 to 120ms+ to create (If 
you add 100 tasks in a batch, 400ms to 12000ms or more)
2) Pull Queues crumble with pull operations, per the documents, you can do 
10 lease operations per second (each with 1000 tasks, assumably), 
theoretically leasing 10.000 tasks / second, you can't, you can't even 
lease 1 task per millisecond on average, 600 tasks/second is a more 
realistic guess, the performance is unreliable, dwindles further when you 
add tasks in parallel too, it's clear the internal black box is built to 
handle add operations, but not lease operations
3) [Side Info, Suggestion] There are Interface bugs, running push queue 
tasks appear as not running, leased pull queue tasks appear as not leased, 
it's very easy to re-run an already running push queue task, it should be 
impossible to re-run an already running task

My personal result: Don't use Pull Queues, or use them by creating multiple 
queues (called horizontal scaling I assume, not very big on terms myself), 
and dividing data into queues, assumably by the modulus of your tasks' tag 
(In these tests, I haven't even included tags, I assume it will only make 
things worst, in the past, I tried using pull queues with tags, and lost 
more than 2 months of my life)

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-appengine/eaba2258-8e5f-4b29-8f2d-c3b48cb64a65%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

<<attachment: pullqueues.zip>>

Reply via email to