Re: [frameworks] replication of fremework benchmarks on physical hardware

54 views
Skip to first unread message
Message has been deleted

zloster

unread,
Jun 24, 2019, 4:07:46 AM6/24/19
to framework-...@googlegroups.com
On 21.06.2019 02:10, Murthy Pothuraju wrote:

> Is there any documentation how to replicate, setup, configure and run
> the framework benchmarks on physical hardware? I am trying set it up
> on 2 CentOS machines. Any help is appreciated.
You will need 3 (three) computers. For more information check:
https://github.com/TechEmpower/FrameworkBenchmarks/wiki/Project-Information-Basic-Concepts#server-roles
- The basic concepts
https://github.com/TechEmpower/FrameworkBenchmarks/wiki/Project-Information-Environment
- The environments that TechEmpower is using aka the "official" ones
https://github.com/TechEmpower/FrameworkBenchmarks/wiki/Benchmarking-Getting-Started
- The basic setup for benchmark environments and how to use the tooling
with them

Best regards,
zloster
Message has been deleted

Michael Hixson

unread,
Jun 25, 2019, 1:51:04 PM6/25/19
to Murthy Pothuraju, framework-benchmarks
Hello,

I noticed our physical environment's ExecStart doesn't align with the
documentation. Ours looks like this:

ExecStart=/usr/bin/dockerd -H fd:// -H tcp://10.0.0.1
--containerd=/run/containerd/containerd.sock

Notice the "tcp://" prefix and no port 2375. Try that and see if it works?

My coworker looking at that just now was wondering if we could further
simplify that to just "-H tcp://" (no IP), but we haven't tried that.

If that doesn't work, if I were in your shoes, I would start manually
testing connectivity between the machines. It may help to understand
what's happening in TFB leading up to the "ERROR: Framework is not
accepting requests" error message.

https://github.com/TechEmpower/FrameworkBenchmarks/blob/17f16194baf43b6f2e62cdf796cf8441285ab8a7/toolset/benchmark/benchmarker.py#L140-L166

This code is running on the application host. It launches the
application container (containing netty in your case) locally. Then,
it repeatedly tries to launch a container remotely on the client host,
and that container will run a "curl" command to test if the client is
able to talk to the application. If none of those curl commands
succeed for 1 minute, then that error message you saw is printed.

This shows how the URL that will be curled is constructed:
https://github.com/TechEmpower/FrameworkBenchmarks/blob/17f16194baf43b6f2e62cdf796cf8441285ab8a7/toolset/benchmark/framework_test.py#L65-L79

This shows how the curl command is executed:
https://github.com/TechEmpower/FrameworkBenchmarks/blob/17f16194baf43b6f2e62cdf796cf8441285ab8a7/toolset/utils/docker_helper.py#L368-L384

Hmm. You could try modifying that code there to print the exception
instead of swallowing it. It's not clear to me if, in your case, the
application host is failing to launch the container on the client (the
application can't talk to the client on port 2375) or if the client
container is running but the curl command is failing (the client can't
talk to the application on port 8080).

That is, change this:
https://github.com/TechEmpower/FrameworkBenchmarks/blob/17f16194baf43b6f2e62cdf796cf8441285ab8a7/toolset/utils/docker_helper.py#L381-L382

to this:
except Exception:
traceback.print_exc()
return False

and then run TFB again to see if any new and interesting errors are printed.

You could also try running the curl command from the client manually.
Run TFB and wait for that "netty: Httpd start" message, then run curl
on the client.

-Michael

On Mon, Jun 24, 2019 at 1:23 PM Murthy Pothuraju <murth...@gmail.com> wrote:
>
> Thanks zloster. Your help is appreciated! I will try it on 3-machine setup.
>
> With 2-machine setup, web and database roles on one machine and wrk client role on other machine, docker.service had to be modified for ExecStart to enable the port 2375. While running netty/nodejs tests, it is throwing up an error, "netty: Httpd started. Listening on: 0.0.0.0/0.0.0.0:8080 netty: ERROR: Framework is not accepting requests from client machine". Is this something related to 2-machine setup or port 8080 need to be mapped? (since we are using the host based network, I thought port-mapping is not required, however).
>
>
> On Thursday, June 20, 2019 at 4:10:50 PM UTC-7, Murthy Pothuraju wrote:
>>
>> Is there any documentation how to replicate, setup, configure and run the framework benchmarks on physical hardware? I am trying set it up on 2 CentOS machines. Any help is appreciated.
>
> --
> You received this message because you are subscribed to the Google Groups "framework-benchmarks" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to framework-benchm...@googlegroups.com.
> Visit this group at https://groups.google.com/group/framework-benchmarks.
> To view this discussion on the web visit https://groups.google.com/d/msgid/framework-benchmarks/24e2bd7d-a6e2-4211-ac04-d63b0578a236%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
Message has been deleted
0 new messages