polygraph-client tries to connect to server with odd IP address

Hohl, Gerrit g.hohl at aurenz.de
Mon Dec 5 12:11:22 UTC 2011


Hello everyone,

I've build a test case and facing now the problem that the
polygraph-client tries to connect to server which don't exist. That is
somehow odd as the polygraph-server and the polygraph-client using the
same PGL file. If they use the same file and use the same PGL parser,
shouldn't they work with the same numbers / IP addresses for servers and
clients? I'm a little bit confused.

At the end of this message is the content of the PGL file.
cred.pg contains some user credentials, but I don't use them at the
moment.
DNS names are currently not used (or at least should not be used).
I only uses aliases in this version, no real machines (except the one
where all the aliases are configured).
polygraph-server starts 26 agents, from 10.101.128.1 to 10.101.128.26.
polygraph-client starts 6 agents, from 10.101.0.1 to 10.101.0.3, 2 on
each alias.
After the start of the test case polygraph-client prints, e.g., that it
can't establish a connection from 10.101.0.1:38686 to 10.101.148.15:80.
How does it come up with that server IP address? It is not even in the
addr_space of the server. :-?
Make I should mention that I configure the aliases with the
polygraph-aka command:
polygraph-aka --if lo --aliases 10.101.0.1-125/22 --aliases
10.101.128-130.1-250/22
This creates 125 aliases for the servers and 750 aliases for the
clients.


// this is just one of the simplest workloads that can produce hits
// never use this workload for benchmarking
#include "cred.pg"

// SimpleContent defines properties of content that the server
generates;
// if you get no hits, set SimpleContent.obj_life_cycle to cntStatic,
which
// is defined in workloads/include/contents.pg
Content simpleContent = {
	size = exp(13KB); // response sizes distributed exponentially
	cachable = 80%;   // 20% of content is uncachable
};

Bench theBench = {
	peak_req_rate = 10000/sec;

	client_side = {
		max_host_load = 500/sec;
		max_agent_load = 100/sec;
		addr_space = [ 'lo::10.101.0-123.1-250/22' ];

	};
	server_side = {
		max_host_load = client_side.max_host_load;
		max_agent_load = undef();
		addr_space = [ 'lo::10.101.128-129.1-250:80/22' ];
	};
};

PolyMix4As asPolyMix4 = {
	agents_per_addr = 2;
};

DnsResolver resolver = {
	servers = [ '127.0.0.1:53' ];
	timeout = 5sec;
};

Server server = {
	kind = "simple-srv"; 
	contents = [ simpleContent ];
	direct_access = contents;

	addresses = serverAddrs(asPolyMix4, theBench);
};

AddrMap addrMap = {
	zone = "bench.tst";
	addresses = server.addresses;
	names = ipsToNames(addresses, zone);
};

// a primitive robot
Robot robot = {
	kind = "simple-rbt";
	pop_model = { pop_distr = popUnif(); };
	recurrence = 55% / simpleContent.cachable; // adjusted to get
55% DHR

	// dns_resolver = resolver;
	// origins = addrMap.names;
	origins = server.addresses;
	addresses = robotAddrs(asPolyMix4, theBench);

	// credentials = cred;
};

Phase inc = {
	name = "inc";
	goal.duration = 5min;
	populus_factor_beg = 0%;
	populus_factor_end = 100%;
	load_factor_beg = 0%;
	load_factor_end = 100%;
};

Phase top = {
	name = "top";
	goal.duration = 10min;
};

Phase dec = {
	name = "dec";
	goal.duration = 5min;
	populus_factor_beg = 100%;
	populus_factor_end = 0%;
	load_factor_beg = 100%;
	load_factor_end = 0%;
};

schedule(inc, top, dec);

// commit to using these servers and robots
use(server, robot);
use(addrMap);
use(theBench);



More information about the Users mailing list