Some services just don’t perform well being virtualised, so always test. An example SQL application, which when a query is executed through the application causes the virtual CPUs in the Guest OS, to spike at 100% CPU until the query has finished, rendering the Guest VM un-usable. The query in the application in the example, takes 13 minutes to finish, on a small 500MB SQL database. To the right of the workstation executing the query is the actual CPU Utilisation performance graph for the virtual Microsoft SQL Server with hits over 3GHz for 13 minutes, during the duration of the query. I suspect in this case a badly designed SQL vendor database – because the queries are running in parallel. But when the database is not your own creation, and is supplied as a vendors application, there is no choice, but to move to a physical server.
[flv:https://andysworld.org.uk/wp-content/uploads/2011/06/SQL-Final1.flv 480 360]
(The application has been blured due to obscure sensitive data).
Confirmed virtualisation was the issue, by moving the SQL database to a physical server.