in reply to Handling Multi-Priority Requests

The window of benefit for priority queuing in this scenario comes at the same point were the system starts to run into other performance bottlenecks.

Consider this. When the system is lightly loaded there is not enough work in queue that prioritizing that work will make a significant improvement in performance. If anything a queuing algorithm will add a fixed overhead and reduce the base line performance by that amount. As the transaction rate increases and you start to see multiple transactions in queue then ordering them will start to make some difference between low and high priority work.

But why is there a queue of transactions in the first place? It is because some system resource is at capacity and work has to wait for that resource to come available. So at the same time that we are getting some benefit from ordering the transaction queue transaction time itself is going up. Now the queuing algorithm is prioritizing the higher value transactions which is good. But each transaction is taking longer, which is bad.

I am arguing that the benefits of the queuing algorithm are off set by the penalty of running the system at high enough loads for the algorithm to pay off.