This question came from our site for computer enthusiasts and power users.

You really need to provide more info. Things like what version of VMware, CPU and memory assigned to each guest, what kind of storage you have running in the backed end, how you have your networking configured, what kind of performance monitoring metrics you have already gathered.. etc..
–
RexSep 12 '12 at 14:40

As far as combining IIS and SQL, in most cases it is not a good idea. Especially for security and maintenance.
–
SerhiySep 12 '12 at 18:01

1

@Serhiy it usually isn't a good idea to combine them because it limits scalability, but could you explain security risks a bit further? It actually is a bit more secure to run them on the same box so that you can turn off remote connections on the DB instance...
–
MDMarraSep 12 '12 at 19:41

1

@Serhiy "my personal experience is that, in most cases, VMs are faster and more responsive then physical machines" <-- I think you just wandered way off the reservation there.
–
Chris S♦Sep 12 '12 at 20:43

4

@Serhiy As a community of professional systems admins, we value empirical data, not gut feeling. There is an overhead to a machine being a VM. Because of this, most VMs take between a 2-5% performance hit (depending on hypervisor and configuration) vs being run directly on the same physical hardware. If you're going to go against the grain with your comments, you need to back them up with data. We're all open to alternative views, but in something as cut-and-dry as performance, you're going to have to supply reliable data to back up claims like that otherwise you wont be taken seriously.
–
MDMarraSep 12 '12 at 20:47

2 Answers
2

Assuming that there is no resource over-commitment, reservations aren't going to get you a whole lot.

You need to track down what the cause of the slowdown is.

What is observed is that the VMs seem to spool down and we get lags in response.

What you need to do is find out what resources are causing this. Also "spool down" isn't really a description of anything. You need to do some digging into performance monitoring and see what's causing this.

*is it a good idea to run the SQL server and the IIS server on the same host? They are the only two VMs on it. The host is a new Dell R620 with 192 gb mem.

If you have two VMs that communicate a lot and generate a lot of I/O, it's a good idea to have them on the same host, but separate volumes/LUNs. Doing this will allow all network traffic between the two to stay on the vSwitch and never touch your physical networking infrastructure. There can be pretty decent performance improvements this way.

You should keep them on separate LUNs, because you don't want disk contention.

TL;DR - Profile your app. Find out where the bottleneck is. Reservations only matter if you have resource contention. There's no point in setting up reservations as a diagnostic measure, you need to do your diagnostics first and then worry about that if it's appropriate.

I would say that giving 1MHz CPU reservation is always a good thing and most of the times removes delays when you access a server after it was idle for some time. It helps even when there is only one VM on ESX host. Sure, for more complex setups there are resource pools, etc...
–
SerhiySep 12 '12 at 17:56

1

Do you have any documentation to support this? In a server that does not suffer from resource contention, this reservation should do absolutely nothing.
–
MDMarraSep 12 '12 at 19:24

VMs after being idle a bit have a small lag when you first connect to it and it is supported by my personal experience with ESX 3,3.5,4 (usually 3-4 physical hosts attached to SAN and 3-50 VMs). I did not try 5.0 yet, however we will migrate to 5.0 this or next month. As far as documentation - it is favorite question in VMware community :)
–
SerhiySep 12 '12 at 19:48

"In a server that does not suffer from resource contention, this reservation should do absolutely nothing" - theoretically it is correct, but practically, small CPU reservation helps and I do not know why. Also, it is a quick thing to try and does not hurt anything :) In my current setup, I do not do any CPU reservations per VM, but on resource pool level.
–
SerhiySep 12 '12 at 20:09

Can you explain this or link to some collateral about this as I've never heard of this suggestion before and I need to understand why you think this would help in such an non-contended scenario.
–
Chopper3Sep 12 '12 at 21:01

1

These instructions have absolutely no noticeable impact on CPU queue or contention for a several of our ESX 4 and 5 blade center VM environments, with varying degrees of load and CPU request queue length and all manner of assorted guest VMs. Trend lines and logs of these metrics are unaffected, graphs look to be the same as they always do based on ToD, and there's no noticeable impact on OS logs of the guest OSes, or change in how fast or slow the VM "feel" from the inside either. I'm totally confident saying "absolutely no change whatsoever" is resultant from this reconfiguration.
–
HopelessN00b♦Sep 14 '12 at 3:23

As you wish guys. I got that recommendation from VMware Community forum and it helped me.
–
SerhiySep 14 '12 at 16:29

@Serhiy Actually, it's just link only answers that are kinda frowned upon. Links to provide sources (and avoid the appearance of plagiarism) are strongly encouraged. I edited your link into your answer, which is more along the lines of what you should do in the future. And even though the advice in that thread is wrong, and won't make a bit of difference, I removed my downvote, now that you've provided a source.
–
HopelessN00b♦Sep 16 '12 at 18:54