I was reviewing a machine of ours that people had been complaining about. The disks were horribly busy and it made it difficult to tell what was hurting the performance in Oracle Apps. zpool iostat for the DB pool was constantly running about 4,000-6,000 read OPs at up to 65MB/sec, which seemed off. The ARC prefetch misses were really high and it occurred to me that ARC was prefetching at all. After disabling file-level prefetch the zpool iostat numbers dropped to 0-150 read OPs immediately. I really thought I had broken it, but I logged in to the apps and tested things out, everything was snappy.
Many thanks to ZFS Evil Tuning guide.