This could be a very useful discussion Arkady as many of us have similar questions, though I think you need to give a few details.
Are you definitely comparing like for like? In other words, you say your database on physcial and virtual uses the same storage array, but are the underlying LUNs used for the both of the same performance (i.e. number/speed of disks, RAID level, no other users of them)? Are the physcial servers the same spec (processor generation and clock speed) as the virtual servers and do they both have the same RAM/vRAM (and SGA settings)? Also please describe your benchmarks and the results you have obtained already and how different the TPS and response times are.
Personally I haven't had serious performance issues running on VMware before that weren't related to something else (usually overprovisioned SAN) - I would expect a VM to be a little slower than physical but not drastically so. If you're having problems my initial suspicion is that something outside of the two servers is different.
By the way, I'm only thinking about single instance Oracle db here, not RAC.
Both servers are using the NetApp storage array with equal configuration.
However I just realized yesterday the difference in hardware: physical is HP blade and VM is running on Cisco blade ESXi server.
Both blades have Intel Xeon 56xx series CPU but physical has CPU speed 10 % higher.
By digging in detected that HP blade environment has a different path to the storage than Cisco UCS.
So decided to rebuild a physical Oracle server on the similar Cisco blade and then run tests.
Will update with results soon
I think your revised approach makes sense. Don't forget it's not just the capacity that's important (e.g. of the path to the storage) but also the utilisation - if one path is already heavily used by other blades/VMs then it may be limiting the amount of bandwidth your server can access. Also don't forget to check the bandwidth management within the blade systems - if you're using something like HP Virtual Connect you can allocate certain maximum bandwidth to certain blades/vNICs so make sure both systems are comparable.
BTW if you're using NFS are you using Oracle dNFS on both systems? (worth doing)
I'd be surprised if a 10% difference in clock speed made a huge difference given that both are 56xx/Westmere-EP - your original post suggests a very significant difference (though you could elaborate on that after your next update).
Finally it may be worth your while doing some sanity checks on the storage from each environment first - something like ORION or maybe Kevin Closson's SLOB tool once you have databases.
I do not use NFS, FC only