Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to simulate a production environment using a single VM. The production environment will have 3 servers behind a load balancer with sticky sessions. Production will be using IIS6. For development, I have no need to distribute load, but I want to make sure the team does not write code that relies on a single-server module.

I have been hoping to set up two virtual directories and find some isapi filter to perform some rudimentary software load balancing, but I've been unable to locate anything suitable. isapi_rewrite comes close but there's no ability for a random rewrite. I don't even need sticky sessions since the application does not (in theory) rely on them.

Is there something easy/free to do this, or am I stuck with multiple VMs and a NLB setup (which seems like total overkill)?

share|improve this question
add comment

3 Answers 3

I don't know an easy way. Either you test in single VM the web site without load balancing (you will be probably able to makes a lot of tests in such environment) or you install the same configuration which you have in production but in multiple VMs. It is possible to import information from the real computers in a new VMware machine.

Sorry for bad news.

share|improve this answer
add comment

I think I would argue that trying to force IIS to do something it is not intended to do is more overkill (in terms of work required) than using a simple, known solution.

If you want to keep it all on one VM, then how about using a product other than IIS in front of IIS? Something like nginx can load balance between the 2 IIS sites (or vdirs), and it should all run on the same VM.

share|improve this answer
add comment

I got this working yesterday with something similar to MattB's solution. I tried both IIRF and Helicon APE, both of which theoretically could do what I needed. IIRF got me really close, but for some reason I needed double-postbacks to make things work. I was using the 2.1 beta and I think the support will be there, but it's not quite there yet.

Helicon Ape could probably also be set up, but I was unable to get the logging I needed to figure out what I was doing wrong.

I also looked at nginx, but it didn't feel right as I was working on Windows and it is clearly not designed for that OS.

Both Helicon APE and IIRF were trying to emulate Apache's functionality, so I ended up just installing Apache in front of IIS, using mod_proxy and mod_proxy_balancer to get the job done. I may still install mod_proxy_html to keep the URLs consistent, but that's a bit of a nit.

I'm also having some issues with WCF (1 physical directory, 2 vdirs under different internal port numbers), but I view that as a separate issue at this point. For that problem I'll likely do something similar to this: http://stackoverflow.com/questions/508892/multiple-base-addresses-in-single-wcf-service

http://iirf.codeplex.com/ http://www.helicontech.com/ape/

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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