esl / amoc Goto Github PK
View Code? Open in Web Editor NEWA load-testing framework for running massively parallel tests
Home Page: https://hexdocs.pm/amoc/readme.html
License: Apache License 2.0
A load-testing framework for running massively parallel tests
Home Page: https://hexdocs.pm/amoc/readme.html
License: Apache License 2.0
+------------+
| |
| AMOC +------------+
| | |
++-----------+ |
| |
| |
| v
v +------+--------+ +-----------+
+----+------+ | | | |
| | | escalus +----->+ gun |
| Cowboy | | master | | |
| v1.0 | | g7081f90 | +---+-------+
| | +---------------+ |
+----+------+ |
| |
| |
| |
v |
+----+-------+ +-----------------+ |
| | | | |
| Cowlib | | Cowlib +<--------+
| v1.0 | | >=v1.2 |
| | | |
+------------+ +-----------------+
Fig 1. Dependecies in Amoc after escalus upgrade
Currently we are using Cowboy 1.0 for HTTP API for amoc
. It depends on legacy version of cowlib
. However escalus
is using gun
for websocket handing, which depends on cowlib
. A far as I inspected it, it should work with cowlib 1.2
, however it specifies in rebar.config
, that it depends on master
branch of cowlib.
What we can do:
After #62 or #63 was merged, docker container became unusable. Basically amoc fails to start.
Crash dump is being written to: erl_crash.dump...done
Kernel pid terminated (application_controller) ({application_start_failure,kernel,{{shutdown,{failed_to_start_child,net_sup,{shutdown,{failed_to_start_child,net_kernel,{'EXIT',nodistribution}}}}},{k
root@280101be614f:/home/amoc/amoc#
Currently we have OTP 17.5 which is a problem with #32 - httpc
needs higher version because in 17.5 we can't make PATCH request.
Make sure the repo is rebar3-compatible and its deps are also hex.pm packages, then publish it on hex.pm.
Every time "make rel" is called, a directory with scenarios is copied to "scenarios/" - which means that you get "_rel/scenarios/scenarios/scenarios" repeated as many times as you have ran "make rel". All this goes to slaves, and seems to result in slaves running an old versions of scenarios.
Amoc version: 4814060
Erlang version: 19.0
$ make rel
(...)
ERROR: OTP release 19 does not match required regex R?1[678]
ERROR: compile failed while processing /home/centos/load-testing/amoc/deps/goldrush: rebar_abort
make: *** [compile] Error 1
Amoc should support Erlang version 19.0 and above, what do you think?
Hi. I would like to measure how quickly server responses under load.
I was thinking about to measure time between send stanza, and receive stanza (in escalus) But escalus has its own predefined timeouts (3sec for user creation, and 1sec for get_stanza
) But for this, it would require to tweak escalus code, which is not best solution as for me. Any advice is really appreciated!
P.S. Sorry for kinda off-topic issue
I have 2 amoc containers running as per this doc:
https://github.com/esl/amoc/blob/master/doc/distributed.md
I added my_scenario.erl under the scenarios folder, but when I attempt to run it with this code my_scenario is not found:
amoc_dist:do(my_scenario, 100, Settings).
How do you add new scenarios when running under docker?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.