Skip to content
This repository was archived by the owner on Nov 24, 2025. It is now read-only.

Add Docker TM Compose for load testing#1732

Open
rob05c wants to merge 1 commit intoapache:masterfrom
rob05c:docker-tm-compose
Open

Add Docker TM Compose for load testing#1732
rob05c wants to merge 1 commit intoapache:masterfrom
rob05c:docker-tm-compose

Conversation

@rob05c
Copy link
Copy Markdown
Member

@rob05c rob05c commented Jan 8, 2018

Adds Docker Traffic Monitor Compose file, designed for load testing
the Traffic Monitor. Starts a DB, TO, and TM, configured with a
given SQL TO dump, and starts the Monitor polling the servers
in TO from the SQL file.

@rob05c rob05c added the new feature A new feature, capability or behavior label Jan 8, 2018
Adds Docker Traffic Monitor Compose file, designed for load testing
the Traffic Monitor. Starts a DB, TO, and TM, configured with a
given SQL TO dump, and starts the Monitor polling the servers
in TO from the SQL file.
@rob05c rob05c force-pushed the docker-tm-compose branch from 337529b to 324b47a Compare January 8, 2018 21:02
@asfgit
Copy link
Copy Markdown
Contributor

asfgit commented Jan 8, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/849/
Test FAILed.

@asfgit
Copy link
Copy Markdown
Contributor

asfgit commented Jan 8, 2018

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/850/
Test PASSed.

@limited
Copy link
Copy Markdown
Contributor

limited commented Jun 20, 2018

I pulled these changes in to test it out, but I'm not really clear on what the pre-reqs are for this.

  • TO RPM
  • TM RPM
  • Dump of functioning TO database with active servers registered.
  • Enough active servers to load down the TM (how many is this??)
  • I haven't gotten this far, but I assume astats has to be configured on those servers to whitelist the new TM IP?

The overhead on getting this test running is pretty high, it would be great if we could bring this barrier down to not require a TO dump. Maybe this could also include some way of generating load on the TM without the need for n caches?

I'll try to grab a dump of my dev setup TM with a single cache and give this another try later today. Once I get it running, I'll merge as is and it can always be improved later

@limited
Copy link
Copy Markdown
Contributor

limited commented Jun 20, 2018

Got the following error building traffic_monitor_load_test_traffic_ops_database image:

 ---> Running in 2b78254facc3
Can't locate CPAN.pm in @INC (you may need to install the CPAN module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .).
BEGIN failed--compilation aborted.
ERROR: Service 'traffic_monitor_test_load_traffic_ops_database' failed to build: The command '/bin/sh -c perl -MCPAN -e 'my $c = "CPAN::HandleConfig"; $c->load(doit => 1, autoconfig => 1); $c->edit(prerequisites_policy => "follow"); $c->edit(build_requires_install_policy => "yes"); $c->commit'' returned a non-zero code: 2

@rob05c
Copy link
Copy Markdown
Member Author

rob05c commented Jun 20, 2018

Yeah, it currently needs a DB dump, just to get TO running. Maybe we can script creating everything we need, or maybe we can sanitize a sql dump and include the file in the repo.

It looks like traffic_ops_database/Dockerfile broke. Not sure what changed since I made the PR. Maybe the postgres:9.6 image changed, or maybe your CPAN is different from what I used, not sure.

I'll try to find time to look at it, but to be honest, it's not a high priority for me right now. I do think automated load testing of the monitor would be highly valuable. We just have too many high priority things at the moment.

@mitchell852 mitchell852 added Traffic Monitor related to Traffic Monitor tests related to tests and/or testing infrastructure labels Oct 24, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

new feature A new feature, capability or behavior tests related to tests and/or testing infrastructure Traffic Monitor related to Traffic Monitor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants