Electrum Server Speed Test



Summary:

The Electrum server software has been noted to have performance issues, including loading data one block at a time and being single threaded on transactions within the block. As a result, an alternative implementation of the Electrum server has been created to address these concerns by using mongodb as a key value store and bitcoinj for block and transaction parsing. This implementation is heavily multithreaded and interacts with all tested clients. The recent blocks imported and their import times are available in a pastebin link and show that a synced node uses 347G of mongodb storage. Additionally, the CPU used is an 8-core Intel(R) Xeon(R) CPU E5430 @ 2.66GHz. In comparison, the original Electrum server requires a fully indexed Bitcoin Core daemon to run and produces sizable external indexes to allow SPV clients to quickly retrieve their history. It takes approximately 3.7 minutes per megabyte of block to process into the index, and an instance running on a modest-high end dedicated server can support up to 2.64 MB block sizes before permanently falling behind the chain. These findings were based on logs produced by the electrum-server console. Overall, the alternative implementation of the Electrum server aims to improve its performance and efficiency.


Updated on: 2023-06-10T03:47:43.147875+00:00