I am trying to call getBlock for 100k blocks, but it is too slow to call them sequentially. This is what I am trying. I have a full node of bitcoin core running. I set the -rpcthreads=100 and -rpcworkqueue=100, and I use js to make Promise.all([multiple rpc calls]). To my understanding, rpcthreads allows concurrent calls, but maybe I misunderstood it. I expected the time it takes to run 2 getblock to be similar of running 1. However, I am not seeing a huge performance increase (running 2 roughly takes double the time). What is the correct way to make bitcoin core accept concurrent rpc requests? Thanks!
my bitcoin core config:
-server -rpcuser=un -rpcpassword=pw -txindex=1 -rpcthreads=100 -rpcworkqueue=100
my attempt to make it concurrent (client being a wrapper class around the rpc api.):
const before = Date.now(); await Promise.all([ client.getBlock('0000000000000000000119e179a3169afe7e1dbd867cb9070a6f75a583b98fb3'), client.getBlock('0000000000000000000119e179a3169afe7e1dbd867cb9070a6f75a583b98fb3') ]); const afterAll = Date.now(); console.log('time for all'); console.log(afterAll - before);