-
Notifications
You must be signed in to change notification settings - Fork 45
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
Updating the Readme file with perf optimizations and monitoring commands #240
base: develop
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||
---|---|---|---|---|
|
@@ -78,6 +78,34 @@ fetching and saving them to local storage can take time (depends on EL RPC host) | |||
For avoiding `heap out of memory` error, you can pass `NODE_OPTIONS` env var with `--max-old-space-size=8192` value | ||||
and when the application completes its first cycle, you can restart your instance without this env variable. | ||||
|
||||
## Performance optimizations and monitoring the monitor | ||||
|
||||
To tail the logs of your instantiation you can use `docker compose logs -f`. Watch out for connection errors and other issues especially regarding `ethereum-validators-monitoring` process. You can choose to ignore alerting related errors if you haven't configured this feature yet. | ||||
To see a real-time, dynamic view of these containers performance use `docker stats`. | ||||
After the initial launch you can improve the performance, by using some or all of the following options: | ||||
- consider running a local CL+EL. | ||||
- remove `--max-old-space-size=8192` from `start:prod` section of `ethereum-validators-monitoring/package.json` file. | ||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It doesn't bring new resources and even take them away. Removing this option can lead to a heap overflow in JS There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. When I ran the app locally I faced some quirks with this parameter. If it was presented, the app didn't consume the whole memory available for the container for some reason. When I removed this param, the issue was gone. You are correct that without this key the app can face heap overflow and we faced this issue in other environments, so, it is mandatory. I think we should remove the |
||||
- edit `./docker-compose.yml` file and assign more cpus and memory to `app` and `clickhouse` like so: | ||||
``` | ||||
clickhouse: | ||||
<< text omitted >> | ||||
deploy: | ||||
resources: | ||||
limits: | ||||
cpus: '8' | ||||
memory: 16g | ||||
app: | ||||
<< text omitted >> | ||||
deploy: | ||||
resources: | ||||
limits: | ||||
cpus: '8' | ||||
memory: 16g | ||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Even at peak loads you don't need more than |
||||
``` | ||||
|
||||
Do not forget to stop and re-launch docker-compose after performing a modification. | ||||
|
||||
|
||||
## Run via docker-compose | ||||
|
||||
1. Use `.env.example` file content to create your own `.env` file | ||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add a few words about: