§ Loadtests on Erigon Node

§ 2021-08-17

Since we're dogfooding our latest addition to the RPI API, namely its shared Erigon node, we found a performance bottleneck when rapidly requesting transactions. A multi-day optimization effort identified the following issues:

Below a benchmark's summary using Apache ab:

Server Software:        nginx/1.18.0                                                                                         [11/2806]
Server Hostname:        node.rugpullindex.com
Server Port:            443
SSL/TLS Protocol:       TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
Server Temp Key:        X25519 253 bits
TLS Server Name:        node.rugpullindex.com

Document Path:          /
Document Length:        103 bytes

Concurrency Level:      100
Time taken for tests:   8.536 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      2620000 bytes
Total body sent:        3500000
HTML transferred:       1030000 bytes
Requests per second:    1171.46 [#/sec] (mean)
Time per request:       85.364 [ms] (mean)
Time per request:       0.854 [ms] (mean, across all concurrent requests)
Transfer rate:          299.73 [Kbytes/sec] received
                        400.40 kb/s sent
                        700.13 kb/s total

§ Separating Crawler Code

§ Other