Today I’ve got a story of a client with a problem. It will be a short story but one that is more common than you might think. When we first started our engagement with the client, we recommended a physical server and dedicated disk. Much to our dismay they decided they could get the performance they needed using VMs and SAN for storage.
Their system does EXTENSIVE allocations and needless to say, they were not getting acceptable performance. For a long time I tried we argued their environment was part of the problem. They kept showing us stats that there was no bottleneck on either the VM or the SAN. Their calculation times ranged from 8 hours to 27 hrs. It should be noted between calculations the database was set to the same initial state and the same data files were being rerun. Yes there were minor changes to one or two drivers, but nothing to make that big a difference.
Finally, a wise soul in IT at the client decided to try bringing up a parallel environment with a physical server and dedicated disk. Performance improved and they were getting more consistent times, but still longer than they liked. He went one step further and got loan of some solid state drives. With them, the calculation time when down to 5-6 hours (depending on data volume) and it was consistently that. With proof of the improvement, they have implemented Solid state drives in production and maintain the 5-6 hour time.
We have debugged issues with multiple clients with SAN issues and I have come to dislike them immensely. On the other hand, while I had trepidation in the past about Solid State drives, I am a convert and think they can provide a huge performance boost for many application especially if the app does read/write and calculations.