AW: polygraph-client tries to connect to server with odd IP address
Hohl, Gerrit
g.hohl at aurenz.de
Mon Dec 5 15:51:36 UTC 2011
Hello Dimitry,
I guess I found the problem:
The ratio between peak_req_rate, max_host_load, max_agent_load and agents_per_addr is the root of all. If the relationship of this 4 properties is not in balance polygraph-client somehow assumes a wrong number of servers.
Currently if've the following address space for the client side:
addr_space = [ 'lo::10.101.0-123.1-250/22' ];
and the following for the server side:
addr_space = [ 'lo::10.101.128-251.1-250:80/22' ];
And it is working perfectly now. :-)
I only use this configuration so I can "play" with web polygraph on a Ubuntu 10.04.3 server installation and prepare a load test / stress test. But the real one will be run on real hardware and also on a few computers instead of only one. So I will change the network configuration later.
Regards,
Gerrit
-----Ursprüngliche Nachricht-----
Von: Dmitry Kurochkin [mailto:dmitry.kurochkin at measurement-factory.com]
Gesendet: Montag, 5. Dezember 2011 14:13
An: Hohl, Gerrit; users at web-polygraph.org
Betreff: Re: polygraph-client tries to connect to server with odd IP address
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