|Oracle9i Application Developer's Guide - Advanced Queuing
Release 1 (9.0.1)
Part Number A88890-02
Performance and Scalability, 2 of 4
Queues are stored in database tables. The performance characteristics of queue operations are similar to underlying database operations. The code path of an enqueue operation is comparable to
INSERT into a multicolumn queue table with three IOTs. The code path of a dequeue operation is comparable to
UPDATE operations on similar tables.
Oracle Real Application Clusters can be used to ensure highly available access to queue data. The tail and the head of a queue can be extreme hot spots. Since Oracle Real Application Clusters may not scale well in the presence of hot spots, limit normal access to a queue from one instance only. If an instance failure occurs, messages managed by the failed instance can be processed immediately by one of the surviving instances.
Queue operation scalability is similar to the underlying database operation scalability. If a dequeue operation with wait option is issued in a shared server environment, the shared server process will be dedicated to the dequeue operation for the duration of the call, including the wait time. The presence of many such processes can cause severe performance and scalability problems and can result in deadlocking the shared server processes. For this reason, it is recommended that dequeue requests with wait option be issued via dedicated server processes. This restriction is not enforced.