How does task scheduling work exactly? I have tasks that have to be executed one after another. My tasks are grouped into classes, and all tasks inside a class have to be executed one after another. Tasks being in different classes have no affect on each other, so tasks in different classes can be executed concurrently.
In every test I set all my tasks to 100/s rate, 100 bucket and max 1 concurrent tasks. I've added lots of tasks to the queues, and made no other load, I was just monitoring the execution rates of the tasks. If I put all tasks in the same queue (other queues are disabled), I get a max of 100 tasks / minute (not 100 per second!!). If I create a queue for each task and put tasks to the queue associated with its class, the throughput decreases drastically!! I created 32 queues for 32 classes, and made a test using only 2 queues (2 classes of tasks). The performance was: 3 tasks per minute in each queue, which is 6 tasks per minute altogether!! My question are: -Is using more queues decreases overall performance? Why does using more queues decrease overall execution rate instead of increasing it? -The experienced execution rate is not even close to the maximum rate (100/s). Why is that? -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" 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-java?hl=en.
