I have various scenarios I would like to benchmark using different instance classes with varying node counts. It would be rather cumbersome to specify each node's IP address in the target-hosts param. I instead would like to specify the load balancer IP. I attempted to do this, but received:
[ERROR] Cannot race. Error in race control (ConnectionError(<urllib3.connection.HTTPConnection object at 0x7f4a9247a080>: Failed to establish a new connection: [Errno 111] Connection refused) caused by: NewConnectionError(<urllib3.connection.HTTPConnection object at 0x7f4a9247a080>: Failed to establish a new connection: [Errno 111] Connection refused))
Is it possible to configure either rally or load balancer to accomplish this? Of course I'm also using --pipeline=benchmark-only
If I'm forced to specify the individual node IPs, is there a limit to the parameter string length?
--target-hosts can also reference a json file, see the docs here and you can maintain this easily. For just one cluster you only need to specify the "default" key e.g.:
{
"default": ["127.0.0.1:39201"]
}
There should be no problem with limits to the array.
re: testing behind a load balancer: as @Christian_Dahlqvist said, are you sure your load balancer works correctly? This discuss topic may also be useful to read.
Hi, thanks for the responses. I will read through the topic @dliappis, also good to know about the json option. As far as more information, it is a stack setup by a previous team which I assume is working, since it is being used. From the looks of it, the security group allows for all internal ip's and ports 80 and 9200 are open, this particular one is managing about 10 data nodes.
Please let me know what other information may be useful. I also tried hitting port 80 instead of 9200, got the same results. I have no problems when hitting the individual data nodes, just the load balancer, so I'm assuming there's a configuration issue somewhere on the load balancer.
Additionally, verified I am able to perform basic curl statements to both the nodes as well as the load balancer.
Is there a way to have rally benchmark over HTTP instead of TCP? Would like to mimic our current application protocol and see HTTP code metrics on the EC2 side.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.