Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thalesmg/emqx-ansible-cdk-helpers


https://github.com/thalesmg/emqx-ansible-cdk-helpers

Last synced: 10 days ago
JSON representation

Awesome Lists containing this project

README

        

* tuning

#+BEGIN_SRC sh
EMQX_BASTION_IP=XXX.XXX.XXX.XXX
ansible-playbook \
-i localhost \
-e emqx_bastion_server=$EMQX_BASTION_IP \
-e emqx_cluster_name=thalesmg \
-e emqx_emqx_num=2 \
-e emqx_loadgen_num=20 \
-e emqx_db_backend=rlog \
-e emqx_num_cores=1 \
tuning.yml
#+END_SRC

* running test scripts

#+BEGIN_SRC sh
EMQX_BASTION_IP=XXX.XXX.XXX.XXX
NUM_EMQX=10
NUM_LG=3
RUN_DATE=$(date +'%Y%m%d-%H%M%S')
NUM_PROC=30
INTERVAL_MS=7
TEST_TYPE="conn"
RUN_NAME="rlog.10cores.${TEST_TYPE}.directly2node.mnesia-nolog.${NUM_PROC}proc.${INTERVAL_MS}ms"
OUTPUT_RECORDING="${RUN_NAME}.${RUN_DATE}"
echo Output recording: ${OUTPUT_RECORDING}
ansible-playbook \
-i localhost \
-e emqx_bastion_server=$EMQX_BASTION_IP \
-e emqx_cluster_name=thalesmg \
-e emqx_emqx_num=${NUM_EMQX} \
-e emqx_loadgen_num=${NUM_LG} \
-e emqx_script_result_file="$OUTPUT_RECORDING" \
-e script_timeout_s=30000 \
-e emqx_test_script_file="${TEST_TYPE}-test.sh" \
-e emqtt_bench_interval=${INTERVAL_MS} \
-e emqx_test_procs=${NUM_PROC} \
-e emqtt_bench_number_of_connections=1500000 \
-e emqtt_bench_session_expiry_interval=0 \
-e script_timezone=$(timedatectl | grep -i zone | sed 's|.*Time zone: \([^ ]*\).*|\1|')
run-test.yml
echo Output recording: ${OUTPUT_RECORDING}
#+END_SRC

To skip collecting output from =emqtt-bench=, simply pass ~--skip-tags
collect~ to the command above.

Also, one can pass ~-e emqtt_bench_lowmem_mode=True~ to use
=emqtt-bench='s low memory mode.

*** overlays

to run the "overlay files" step, put the files to be copied onto the
servers on =files/=, add the source and destination paths in
=tuning.yml= and execute the playbook passing the =-e emqx_beam_overlays=True=
flag.

ex:

#+BEGIN_SRC yaml
# tuning.yml
block:
- name: overlay stat path
# .....
when: emqx_beam_overlays
vars:
overlays:
- dest: "/usr/lib/emqx/lib/mnesia-4.19/ebin/mnesia_log.beam"
src: "mnesia_log.beam"
- dest: "/etc/emqx/emqx.conf"
src: my-emqx.conf
#+END_SRC