Celestia light node performance analysis

Conducted a performance analysis of my light node. For that purpose I was using scripts from celestia team

https://github.com/P-OPSTeam/celestia-tools/tree/main/grafana

With the help of those scripts I ve properly set up prometheus and grafana interaction.I also added some metrics that seemed useful to me:

  • celestia_das_busy_workers_amount

  • celestia_das_sample_time_hist_count

You can check all the dashboards I used via the link

http://135.181.33.247:3000/d/sAAM7CLVk/processes-monitoring?search=open

So I ve analysed the data coming from node and noticed the following:

Sampled headers

More or less equal number of sampled headers is being generated every hour

post image

So every minute from 4 to 6 sampled headers are being generated

https://docs.google.com/spreadsheets/d/1nYkl13oLsLcqzEit9lNYlTMDJV9j0K00-uD9galbS_w/edit?usp=sharing

In total for the last 27 hours 8735 sampled headers were generated. This number can be divided into:

  • width 2 headers (59)

  • width 4 headers (6739)

  • width 8 headers (1938)

Headers with width 4 appeared to be the most common

Head syncing

Head also grows by 4-6 blocks every minute (most commonly by 5-6)

post image

DAS busy workers

Noticed an interesting pattern here

post image

So in my case two workers get busy once in every 1.5-2 hours. One workers is usually busy for no more than one minute.

System load

Some metrics here can vary, however in my case light node takes 1.86 GB of resident memory, 9.76 GB of virtual memory

post image

CPU performance of celestia tasks in my case looks like:

Min 0.0431 ms Max 0.07 ms Avg 0.0433 ms

post image

Based on 1 hour data set from the google doc above

Analysis conducted by Danylo Soloviov Discord: Daniel_#6773