Ok I'll admit it - I'm not a Oracle DBA. I'm actually working within a service optimisation team investigating performance issues on an Oracle platform. I need help with ODM and the Async device.
We have a 9i installation for a Real-time billing solution on a Superdome with 64 CPU's on a HPUX OS. This is a very busy service that handles something like 9K requests per second.
Way back in May last year we implemented ODM but found that we had little or no improvement in I/o performance. This is totally not what we thought would happen. We expected to get a 20% improvement in performance.
Once we started analysing the root cause we found that our SAN was configured incorrectly (IE all the devices were presented through just the one Port so they were running hot). We fixed this and noticed a 98% improvement in Writes but only a 5% improvement in Reads. Not sure why this is so, but thats for a SAN forum.
The question I have is that if you set the max_async_io too low you will have (Quote form man page) "Performance degradation". Unfortunately our Engineering group set this to just 50, when there are over 400 Oracle Processes. In the end we identified that just 22 Oracle processes were able to attach to the Asynchronous device. This would explain why we did not see the performance enhancement we expected.
Problem is I canít convince the Engineering group to change it. Oracle and HP-UX Documentation suggest a minimum of 1000 for this tuneable but this is not convincing the damn engineers.
Does anyone out there have any experience with this tuneable? Have you seen this situation before where changing the parameter improved ODM performance? Please let me know.