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

Dmitry Kurochkin dmitry.kurochkin at measurement-factory.com
Mon Dec 5 13:12:35 UTC 2011


Hi Gerrit.

On Mon, 5 Dec 2011 13:11:22 +0100, "Hohl, Gerrit" <g.hohl at aurenz.de> wrote:
> 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.
> 

Yes, it should.

> 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. :-?

There are no hard-coded addresses in Polygraph, but some standard
workloads use 10.101.128-251.1-250 server address space by default.
Please double check that you are running the correct workload.

Note that the workload you sent does not work as is because the server
address space is too small:

  serverAddrs() call failed: too small address space; 520 agents cannot fit into 500 space slots

Regards,
  Dmitry

> 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);
> _______________________________________________
> Users mailing list
> Users at web-polygraph.org
> http://www.web-polygraph.org/mailman/listinfo/users



More information about the Users mailing list