As the title suggests: suppose I have a script that requests account balances from a node on a continuous basis. At what point does this impact the node’s ability to bake blocks?
That’s hard to answer in general.
Queries like account info do not block the baker threads. However they do consume resources, but in general you should be able to do quite a lot of queries on a reasonable machine before you see any impact.
The details would depend on
- are you always querying balances of the same few account(s)?
- how many threads do you allow the node?
- what is the performance of your disk?
- is there high-load in general on the network? If blocks are empty or mostly empty there is very little load in baking.
I’m running my baker on a AMD Ryzen 5 3400G with 32GB Ram and a SSD. No additional load on the network. I’m querying all accounts, all delegators, all bakers, etc.
Are there queries that do block the baker threads?
I have CONCORDIUM_NODE_CONNECTION_THREAD_POOL_SIZE=2. Can this be increased?
That flag is not the relevant one. That is only for network events threads. The relevant option is
Which is usually a comma-separated list of options. The relevant option would be
for example to allow 4 hardware threads for queries.
Ah ok, I have -N2, -I0. Are these reasonable settings for a baker on my particular hardware?
That should be plenty, although you will get more out if you query a lot by using
-N4 or maybe
-N6 instead of
-N2. You might want to also add
-qn1 to the list
But unless you do heavy queries
-N2 is perfectly fine.