Distributed Test - Overrides Topology Information

chriswellschriswells Posts: 5
edited January 5, 2007 5:36AM in ANTS Load
I am trying to set up a distributed test using a number of hosts located at remote sites and accessed over the Internet.

I have set up the topology so the master and the mediator are the same computer and the host is the public hostname of the remote site and set up the firewalls at these sites to forward the traffic to the correct internal hosts based on port number.

The initial connection to these hosts appears to work correctly and I can see the traffic reach the host and responses being returned. However somewhere in the responses the host is clearly passing its internal IP Address on the remote network to the mediator because all future attempts to connect to the host use the host computers internal ip address rather than the address set up in the topology and subsequently fail.

Is there anything I can do to ensure that the master and mediator both use the correct address as configured in the topology?




  • Options
    Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hi Chris,

    Thanks for your post, but I'm sorry to say I'm finding this is bit unclear. In topology, you have the master, mediator, and host. The host is the component that actually sends the virtual client's web requests. The host should not be sending any traffic back to the master/mediator until the load test is completed, however...

    The only thing I can think of is performance counters -- the load balancing algorithm needs access to the performance counters to work properly, but if that bit fails, there should come an error message.

    ANTS Load wasn't designed with having it's topology spread across different networks -- it didn't seem like a practical sceanrio for load testing as the network connection could be a severe bottleneck and get saturated long before the load starts affecting the web server.

    But if this is practical for you, you may want to look into setting up a VPN and allowing NETBIOS over TCP so that you can get the performance counter information through:

    http://www.red-gate.com/messageboard/vi ... php?t=3659
  • Options
    Hi Brian,

    Thanks for the prompt reply. I will try and give you a bit more background so you understand what I am try to do and why.

    Due to cost constraints we are unable to replicate our live web server environment for testing. Hence we are planning to load test the application on the live web servers at a normally quiet time for web traffic. Our web servers are co-located at a third party web hosting supplier so it is necessary to run the load test over the internet.

    Our corporate network has a 2Mb/s link to the internet - this represents a serious bottleneck for the load tests if we try and use all hosts on the corporate network. So my plan is to place hosts running the distributed test service at a number of locations were I have access to internet connections. Most of these locations will be home networks on Cable or ADSL connections that have a single public IP Address and a router that can NAT the addresses of the hosts behind it.

    To test the feasibility of this solution I have set up one host on one home network and I have the ANTS Load Manager setup on a server on my corporate network. Host on the home network has IP Address and my home network Public IP Address is 80.6.x.x.

    Using the Ants Load Console I have set up a tolopoly for this test of: -
    Manager: localhost
    Mediator: localhost
    Host: 80.6.x.x

    When I start the load test the test Test Status screen shows Initializing and on our corporate firewall I can see a successful connection from our ANTS Load Manager/Mediator to the remote host on 80.6.x.x. However following this I see a number of attempted connections from the ANTS Load Manager/Mediator to (the internal IP Address of the remote host). These subsequent connections fail because is an internal private IP Address and cannot be reached across the Public Internet. Hence ANTS Load is ignoring what is setup in the topology and using an ip address that it must be retrieving from the remote host as part of the initial communication.

    In the ANTS Load Manager I get an error:
    System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
    I have the stack trace that was displayed with this error if that will help.

    This is followed by an error:
    Redgate.Ants.Controllers.NoWorkingHostsException: There are no working hosts on the network. Please check your topology configuration and verify that the IP addresses and ports are correct.

    The Host is not trying to send data back to the master/mediator - the master/mediator is trying to contact the host but not using the IP Address from the topology.

    If ANTS Load is trying to access Performance Counters on the Host then this may be causing the problem. The only port that is open for communication between the Master/Mediator and the Host is port 8085. Does ANTS Load use port 8085 to retrieve the performance counter data from the host or do I need other ports open?

    I am not trying to retrieve any Performance Counters from the Web Servers during this test.

    Sounds like I probably need to go back to the drawing board on this one.


  • Options
    Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Hi Chris,

    The load balancing manager that is part of the mediator user performance counters automatically to adjust how many virtual client load gets distributed to each host in a topology. The master can also use performance counters as part of this test, but this is a different issue because you can always run a load test with no performance counters at all.

    So I'm pretty confident that the issue is that the NETBIOS ports need to be used so that the mediator can get performance counters from the test host, even if there is only one. This is the reason why a VPN connection would be necessary -- SMB protocol that Windows performance counters uses cannot be routed across dispirate networks.
Sign In or Register to comment.