Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Recently we faced a performance problem in our ESXi 4.1 hosted in Dell R710 server.

I verified RAM and it was 48 GB. I checked the CPU it was quadcore. Finally i came to know that the server had only one SATA disk which has 7.2k RPM

When we replace one more disk (SAS 15 k rpm ) , it was better some how.

What are all the common other factors which would affect performance of VM?

share|improve this question

closed as not constructive by Sven, TheCompWiz, Chopper3, dyasny, splattne Jan 9 '12 at 16:18

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

That's much too broad of a question. Much of your question depends on knowing what kind of resources the instances require... and specific types of hardware & configurations. There is no way to compile a short list of factors that affect VMs. – TheCompWiz Jan 5 '12 at 17:48

Pretty much always disc subsytem because people very often are totally ignorant (as the person ordering you system )to what "IOPS" means and how a virtual paltform stretches that. Enough RAM, cpu load are what every wannabe VM admin sees, but few have even a clue about IO. "my dsics are fast, 100mb/s" is common thinking.

Personally I would have your machine with 6-8 discs + SSD as cache ;)

share|improve this answer

Consider a VM as just an application. Everything that can affect an application can affect VM performance: In other words everything, to varying degrees dependent on your specific situation.

share|improve this answer

What can affect the VM? Network utilization, CPU on host, drive subsystem, drive controller, older/buggy drivers, VM guest OS, VM tools installed in the guest, drive filesystem, fragmentation, host utilization, memory use and availability, drive speed, RAID type, cache on RAID controller, number of host CPU's, virtual CPU's, day of the week, noise in the server room affecting drive vibration, I/O due to backing up systems or migrating them, virtual switch load, number of VM's on the machine...what doesn't have some affect on VM performance?

What exactly are you trying to do? Is there a specific instance where you're facing a particular bottleneck you're trying to monitor or discover? Otherwise this question is rather vague. What works for one setup won't necessarily be acceptable in another.

share|improve this answer
we are facing performance issue often and i don't know what are all the parameters i need to consider . That's why i asked. I really did not know that these many things will be beneath it. – Samselvaprabu Jan 5 '12 at 17:49
Yes, all these things can affect performance. VM's are just semi-sandboxed applications on a physical server. Any of a number of things can affect them in some way. – Bart Silverstrim Jan 5 '12 at 18:39

Consider the classical system performance envelope fingerprint of DISK, CPU, RAM or Network. You can oversubscribe any of the items which would result in either needing more of a resource or just a wider path. DISK and Network are the slower of the four, with CPU and RAM the faster. Having a larger/wider bandwidth set in these areas will almost always improve the overall performance of a system. In your case you went to a faster drive and things got better, have you considered a RAID setup whose overall throughput would be higher still? The next step up would be a SAN array over fiber channel. With enough spindles your time to retrieve data can approach the seek time of an individual disk.

On the network front, consider multiple network adapters and binding some high need machines to particular interfaces exclusively to avoid conflicting with other VMs. Having an exclusive binding also lessens the overhead on the hypervisor for arbitrating access to a given resource from multiple VMs.

You can certainly oversubscribe Memory and CPU. I recall walking into one place where management had dictated that 100 VMs go on one server. They all worked. They were all slow. The disk subsystem was thrashing itself to death both for swapping memory for the VMs since there was not enough physical RAM and also swapping whole VMs in and out to disk to allow others to run. Not pretty, but management did not see the issue since (a) they did not have to use the VMs and (b) It was running with their dictate. Just like driving a corvette on public highways at 150mph, just because you can do something it may not be the brightest idea to actually do it.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.