Missed Slot Leader %

And here is Hetzner with regular desktop PCs:

https://mybroadband.co.za/news/wp-content/uploads/2015/01/Servers-inside-the-Hetzner-DC.jpg

OVH do the same, almost all of those cheap VPS are not on server grade HW, but using regular PCs. Just get so called bare-metal server from hetzner and checkout what motherboard you have there, you will be surprised.

It is easy to blame just one VPS provider, when in reality there is almost no difference between Hetzner, Contabo or OVH.

Downtimes: yes sure Hetzner never had them or OVH(LOL, burn it all!) or even AWS.

https://www.reddit.com/r/hetzner/comments/tva8t1/frequent_outages_with_hetzner_should_i_be_worried/

Hetzner had downtimes for more then 30 hours and that is just me googling for 5 minutes…

I tested Hetzner and OVH, and they have a much better quality. Hetzner’s quality is great, I am not sure how it was in 2015, when this picture was taken… I am however not recommending Hetzner, since they have in their terms of use rules against all crypto activities and they can interrupt your service anytime.

I tested a bit Contabo too, I got pretty impressive CPU performance there…

In contrast to that one I’m running my pool for 2 years on Contabo only - with zero downtime. And I never missed a block (13 blocks minted so far).

Well, I got the Contabo setup below and after 4.3 days of uptime have the below results. A very big improvement, as good as it gets with a service like Contabo or any other tweeks I could do?

CLOUD VDS S

3 Physical Cores
AMD EPYC 7282 2.8 GHz
24 GB RAM
180 GB NVMe
More storage available
250 Mbit/s Port
32 TB Traffic*

Untitled

If you are happy with the 1470 missed slot leader checks, then it is fine.
I have 171 missed slot leader checks on my BP, 125 from the transition to epoch 394 and 46 from the transition to epoch 395, and 0 from the rest of 7 days and more than 18 hours of running except the epochs transition. My BP is also running on a VPS with AMD EPYC dedicated CPU Cores.
apex_bp
In the same time, my backup BP has 176 missed slot leader checks, running on a different VPS in a different location than the primary, with Intel Virtual CPU Cores.

1 Like

I am using +RTS -N3 -xn -T -A32m -n1m -AL512m -C0 -I0.3 -Iw3600 -O4000m -RTS to start the node on VDS S with Contabo and have 187 missed check for 8 days. Just for comparison :slight_smile:

1 Like

Thank you, I’ll try this setting out.

Have you tried β€œβ€“nonmoving-gc” or even β€œ-qg -qb --nonmoving-gc”?

As you can see MUCH better! What I’m not 100% sure of is what fixed it.
I changed cnode.sh to CPU_CORES=3 manually and put export GHCRTS=β€˜-N3 -xn -T -A32m -n1m -AL512m -C0 -I0.3 -Iw3600 -O4000m’ in bashrc.

It looks like though the bashrc changes didn’t take as my default still shows:

-T -I0 -A16m -N2 --disable-delayed-os-memory-return (yes did full reboot after changes made)
At any rate I can live with 0.0xxx range.
 

cardano-node +RTS --info
 [("GHC RTS", "YES")
 ,("GHC version", "8.10.7")
 ,("RTS way", "rts_thr")
 ,("Build platform", "x86_64-unknown-linux")
 ,("Build architecture", "x86_64")
 ,("Build OS", "linux")
 ,("Build vendor", "unknown")
 ,("Host platform", "x86_64-unknown-linux")
 ,("Host architecture", "x86_64")
 ,("Host OS", "linux")
 ,("Host vendor", "unknown")
 ,("Target platform", "x86_64-unknown-linux")
 ,("Target architecture", "x86_64")
 ,("Target OS", "linux")
 ,("Target vendor", "unknown")
 ,("Word size", "64")
 ,("Compiler unregisterised", "NO")
 ,("Tables next to code", "YES")
 ,("Flag -with-rtsopts", "-T -I0 -A16m -N2 --disable-delayed-os-memory-return")

image

You can also add RTS parameters in cnode.ch on line 39. The trick is that each one should be in separate brackets. In your case: β€œ-N3” β€œ-xn” β€œ-T” β€œ-A32m” β€œ-n1m” β€œ-AL512m” β€œ-C0” β€œ-I0.3” β€œ-Iw3600” β€œ-O4000m”. You can skip β€œ-N3” as it is set via β€œ-N${CPU_CORES}” and CPU_CORES=3 parameter.

1 Like

Thanks for hints, I tried the three below but node wouldn’t start:

[[ -n ${CPU_CORES} ]] && CPU_RUNTIME=( "+RTS" β€œ-N3” β€œ-xn” β€œ-T” β€œ-A32m” β€œ-n1m” β€œ-AL512m” β€œ-C0” β€œ-I0.3” β€œ-Iw3600” β€œ-O4000m” "-RTS" ) || CPU_RUNTIME=()

[[ -n ${CPU_CORES} ]] && CPU_RUNTIME=( "+RTS" β€œ-N” β€œ-xn” β€œ-T” β€œ-A32m” β€œ-n1m” β€œ-AL512m” β€œ-C0” β€œ-I0.3” β€œ-Iw3600” β€œ-O4000m” "-RTS" ) || CPU_RUNTIME=()

[[ -n ${CPU_CORES} ]] && CPU_RUNTIME=( "+RTS β€œ-N” β€œ-xn” β€œ-T” β€œ-A32m” β€œ-n1m” β€œ-AL512m” β€œ-C0” β€œ-I0.3” β€œ-Iw3600” β€œ-O4000m” -RTS" ) || CPU_RUNTIME=()

After some more looking around I used the below setting and it took, NODE restarted:
My question would be, is it actually doing anything coded this way?

[[ -n ${CPU_CORES} ]] && CPU_RUNTIME=( "+RTS" -N -xn -T -A32m -n1m -AL512m -C0 -I0.3 -Iw3600 -O4000m "-RTS" ) || CPU_RUNTIME=()

If you want to verify with what RTS parameters the node is running you can try: systemctl status cnode

Actually seems that you haven’t understood correctly my post - you should not amend the first part prior to the && CPU_RUNTIME=(. The whole line with the settings you want to use should be:
[[ -n ${CPU_CORES} ]] && CPU_RUNTIME=( β€œ+RTS” β€œ-N${CPU_CORES}” β€œ-xn” β€œ-T” β€œ-A32m” β€œ-n1m” β€œ-AL512m” β€œ-C0” β€œ-I0.3” β€œ-Iw3600” β€œ-O4000m” β€œ-RTS” ) || CPU_RUNTIME=()

Thank you for your help. I couldn’t get those settings to take.
+RTS -N2 --disable-delayed-os-memory-return -I0.3 -Iw600 -A16m -F1.5 -H2500M -T -S -RTS --your-usual-parameters` (with " " for each).
This took and resulted in systemctl status cnode showing the change buy TX count went WAY down.
I set back to the default and just set CPU_CORES=3 and so far after 24hrs got 2 (0.0186 %)

Video: β€œ20,633 views Aug 12, 2013”

I am so happy you did not come with some video from 2004!