I have concerns about the performance of the Electrum server software as well.  It seems to load data one block at a time (which normally makes sense) and I think it is even single threaded on transactions inside the block.

To try to addresses these issues, I made my own implementation of the electrum server.  It doesn't support UTXO (yet) but happily interacts with all the clients I've tested.  It is heavily multithreaded, uses mongodb as a key value store and bitcoinj for block and transaction parsing.

https://github.com/fireduck64/jelectrum

You can hit a running instance at:
b.1209k.com:50002:s
or
b.1209k.com:50001:t

A synced node uses 347G of mongodb storage.  

Here are the recent blocks imported, with number of transactions and import time.
http://pastebin.com/cfW3C2L6
These times are based on having mongodb on SSD.
The CPU is 8 core Intel(R) Xeon(R) CPU E5430  @ 2.66GHz

I'd be happy to help with anything you need to evaluate it.


On Thu, Jul 23, 2015 at 9:01 AM Slurms MacKenzie via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
Similar to the Bitcoin Node Speed Test, this is a quick quantitative look at how the Electrum server software handles under load. The Electrum wallet is extremely popular, and the distributed servers which power it are all hosted by volunteers without budget. The server requires a fully indexed Bitcoin Core daemon running, and produces sizable external index in order to allow SPV clients to quickly retrieve their history.

    3.9G    electrum/utxo
    67M     electrum/undo
    19G     electrum/hist
    1.4G    electrum/addr
    24G     electrum/

Based on my own logs produced by the electrum-server console, it takes this server (Xeon, lots of memory, 7200 RPM RAID) approximately 3.7 minutes per megabyte of block to process into the index. This seems to hold true through the 10 or so blocks I have in my scroll buffer, the contents of blocks seem to be of approximately the same processing load. Continuing this trend with the current inter-block time of 9.8 minutes, an electrum-server instance running on modest-high end dedicated server is able to support up to 2.64 MB block sizes before permanently falling behind the chain.
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev