937be101d2
* initialise operators guides v2 * new introduction page * add variables csv and page * add baseurl to allow short path * add sandbox page * added building from source page * add binary pages * add preliminary steps * clean preliminary steps dir * syntax edit * syntax edit * add configuration page * create new proxy configuration page * create new proxy configuration page * create bonding.mdx page * correct images path * syntax edit * add new validator setup page * add api setup page * add nyx configuration page * add nym node and maintenance pages * finish maintenance and add nymvisor conf page * add manual upgrade page * add nymvisor upgrade page * add performance testing page and dir * add node api check page * add explore nym scripts page * add testing pages * fix menu issue by moving snippets to coomponents * add all troubleshooting pages * add general faq page * add nym node faq page * add nyx faq page * revamp legal forum to community counsel and add all pages * rewire relative paths to new structure * simplify setup and remove lock file * syntax fix * rm package.json * re add package.json, rm package-lock.json * removed old books from commit * address review comments --------- Co-authored-by: mfahampshire <maxhampshire@pm.me> Co-authored-by: mx <33262279+mfahampshire@users.noreply.github.com>
49 lines
3.2 KiB
Plaintext
49 lines
3.2 KiB
Plaintext
import { Callout } from 'nextra/components';
|
||
|
||
# Performance Monitoring & Testing
|
||
|
||
Nym Mixnet has been running on mainnet for quite some time. There is still work to be done in order for the network to meet its full potential - mass adoption of privacy through fully distributed Mixnet.
|
||
|
||
As developers we need to be constantly improving the software. Operators have as much important role, keep their nodes up to date, monitor their performance and share their feedback with the rest of the community and core developers.
|
||
|
||
Therefore [monitoring](#monitoring) and [testing](#testing) are essential pieces of our common work. We call out all Nym operators to join the efforts!
|
||
|
||
## Monitoring
|
||
|
||
There are multiple ways to monitor performance of nodes and the machines on which they run. For the purpose of maximal privacy and decentralisation of the data - preventing Nym Mixnet from any global adversary takeover - we created these pages as a source of mutual empowerment, a place where operators can share and learn new skills to **setup metrics monitors on their own infrastructure**.
|
||
|
||
### Guides to Setup Own Metrics
|
||
|
||
A list of different scripts, templates and guides for easier navigation:
|
||
|
||
* [`nym-gateway-probe`](gateway-probe.md) - a useful tool used under the hood of [harbourmaster.nymtech.net](https://harbourmaster.nymtech.net)
|
||
* [Prometheus and Grafana](prometheus-grafana.md) self-hosted setup
|
||
* [Nym-node CPU cron service](https://gist.github.com/tommyv1987/97e939a7adf491333d686a8eaa68d4bd) - an easy bash script by Nym core developer [@tommy1987](https://gist.github.com/tommyv1987), designed to monitor a CPU usage of your node, running locally
|
||
* Nym's script [`prom_targets.py`](https://github.com/nymtech/nym/blob/develop/scripts/prom_targets.py) - a useful python program to request data from API and can be run on its own or plugged to more sophisticated flows
|
||
|
||
### Collecting Testing Metrics
|
||
|
||
For the purpose of the performance testing Nym core developers plan to run instances of Prometheus and Grafana connected to Node explorer in the house. The network overall key insights we seek from these tests are primarily internal. We're focused on pinpointing bottlenecks, capacity loads, and monitoring cpu usage on the nodes' machines.
|
||
|
||
|
||
## Testing
|
||
|
||
<Callout color="info" emoji="ℹ️">
|
||
For the moment we paused Fast and Furious `perf` environment. All load and speed testing is carried on directly Nym Mainnet as this is the only way to collect real performance data.
|
||
</Callout>
|
||
|
||
We do testing in order to **understand and increase the overall quality of the Nym Network**. The main takeaways of such event are:
|
||
|
||
1. Understanding of the network behavior under full load
|
||
- How many mixnet client users can all active set entry gateways handle simultaneously?
|
||
- How much sustained IP traffic can a subset of mainnet nodes sustain?
|
||
2. Needed improvements of Nym Node binaries to improve the throughput on mainnet
|
||
3. Measurement of required machine specs
|
||
4. Raw data record
|
||
5. Increase quality of Nym Nodes
|
||
6. Show each operator a way to monitor their nodes in a distributed fashion
|
||
7. Adjust rewarding based on the machine specs and server pricing
|
||
|
||
Visit [Nym Harbour Master](https://harbourmaster.nymtech.net/) monitoring page to monitor network components (nodes) performance.
|
||
|