Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

re-name --workers to --agents?? #41

Open
rpappalax opened this issue Feb 23, 2017 · 3 comments
Open

re-name --workers to --agents?? #41

rpappalax opened this issue Feb 23, 2017 · 3 comments
Milestone

Comments

@rpappalax
Copy link

@tarekziade, question for you....

In ailoads, we had the concept of a "user." From a testing perspective, this makes some sense because (via a loadtest), we're trying to pretend that we are 1 user doing some activity and multiplying that by some scale value: --users n. But it's not entirely intuitive what a "user" is and this could easily get confused with the --name parameter in loads-broker where we specify the username of the person running the tests.

In molotov, we've renamed that to "worker." This is better in one sense as it's more like a thread, but could easily be confused with the "process" parameter which is a thread of the async activity. A process is essentially a thread and a thread is sometimes also referred to as a "worker", so sometimes I find that a bit confusing.

The loadtesting tool: beeswithmachineguns refers to these "users"/"workers" as "concurrent connections":
https://github.com/igkins/beeswithmachineguns/blob/master/beeswithmachineguns/main.py#L100

We could rename "workers" to "connections", but in ap-loadtester, a connection is used to refer to an open websocket connection, whereas with molotov our "workers" are essentially agents and the connections may be established and terminated multiple times over the course of a test.
Should we call it an "agent" instead?


NOTE:

When doing a loads-broker test, these params would be added to the loads-broker.json so that your scale would be determined by:

molotov.json
(1) # processes
(2) # agents

loads-broker.json
(3) # attack nodes

TOTAL # AGENTS = # processes / node X # agents / node X # attack nodes

@rpappalax rpappalax changed the title re-name workers? re-name --workers to --agents?? Feb 23, 2017
@tarekziade
Copy link
Owner

I agree the naming is fuzzy. I like the name of agents - in another tool they call it virtual-users

To make sure things are clear, right now:

  • a process is a real OS process, where molotov is forked and a new program runs.
  • a worker is a co-routine, that asynchronously calls the scenarii

so when you run with 5 processes and 10 workers, you end up with 50 workers running in parallel.
--agents sounds good as long as it's clear that it's not the total number of concurrent virtual users, but the total number of virtual user PER process.

TOTAL AGENTS = # agents x # processes x # nodes

@rpappalax
Copy link
Author

so when you run with 5 processes and 10 workers, you end up with 50 workers running in parallel.
yea, that's my understanding as well.
--virtual-users (-u) is also quite good. I like the brevity of 'agents', but as you suggest it may still be too vague. i quite like 'virtual-users'. Though a bit long, it does give a very intuitive name to what it does. Whatever you think is best.

@tarekziade
Copy link
Owner

+1 for agent . As long as we have a clear doc about this, I think it's the best pick

@tarekziade tarekziade modified the milestone: version 2 Mar 22, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants