0

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)?

Emil Lerch
  • 143
  • 1
  • 7

3 Answers3

0

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.

Oleg
  • 249
  • 3
  • 6
0

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.

MattB
  • 11,194
  • 1
  • 30
  • 36
0

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: https://stackoverflow.com/questions/508892/multiple-base-addresses-in-single-wcf-service

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

Emil Lerch
  • 143
  • 1
  • 7