1

I'm running an Ethereum Parity node on my home laptop (i7-7500U @2.7ghz, 2CPUs, w/ SSD) and getting massively more RPC throughput than on a dedicated Amazon AWS linux instance (i3.xlarge, 4vCPUs, w/ NVME SSD).

On my laptop, I can process ~500 "trace_transaction" calls per second, vs. around 100 on my AWS node. I assumed the node performance of my laptop and this i3.xlarge instance would be pretty similar.

I also tried bumping up --jsonrpc-threads and jsonrpc-server-threads and neither of them seemed to increase AWS RPC performance. My AWS vCPUs are nowhere near fully utilized.

Any ideas? Are there certain settings on Linux or on AWS I should look out for that could be causing this?

Thanks!

  • What rpc endpoint are you using, http, ws, or ipc? I just posted an answer to this question, which gives benchmarks from one of our Parity nodes, on which we get >40k req/s via http, and >70k via ipc. This is on bare metal, so no hypervisor; performance is much worse when we test on shared vps instances, but certainly much higher than 100 trace_transaction calls per sec. – antikantian Feb 5 '18 at 15:54
1

In my opinion:

  • Local connections are inherently faster (I would have thought order of magnitudes) than across a network. You're straight to memory and processing with little transport (just localhost) adding ms latency.
  • AWS somehow "throttling" the connection? Any odd terms of service points about max connections?

This could all be rubbish...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.