[bitcoin-dev] Electrum Server Speed Test
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.9Gelectrum/utxo 67M electrum/undo 19G electrum/hist 1.4Gelectrum/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
Re: [bitcoin-dev] Electrum Server Speed Test
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.9Gelectrum/utxo 67M electrum/undo 19G electrum/hist 1.4Gelectrum/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 ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Re: [bitcoin-dev] Electrum Server Speed Test
Great data points, but isn't this an argument for improving Electrum Server's database performance, not for holding Bitcoin back? (Nice alias, by the way. Whimmy wham wham wozzle!) On Thursday, 23 July 2015, at 5:56 pm, Slurms MacKenzie via bitcoin-dev 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.9Gelectrum/utxo 67M electrum/undo 19G electrum/hist 1.4Gelectrum/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 ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Re: [bitcoin-dev] Electrum Server Speed Test
That's purely the time on the wall for electrum-server, validation in bitcoind happens before. As ThomasV has pointed out it is significantly faster with a solid state disk (but much more expensive to operate), if we get to that point it'll only be expensive servers with lots of SSD space which are able to keep up with the current software. I was mostly trying to make a point about other software being impacted in ways which aren't really discussed, rather than a specific dig about electrum-server. I should have made that more clear. Sent: Thursday, July 23, 2015 at 9:21 PM From: Eric Voskuil e...@voskuil.org To: Slurms MacKenzie slu...@gmx.us, bitcoin-dev@lists.linuxfoundation.org Subject: Re: [bitcoin-dev] Electrum Server Speed Test -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Does to process into the index include time for transport and/or block validation (presumably by bitcoind) or this this exclusively the time for Electrum Server to index a validated block? e ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Re: [bitcoin-dev] Electrum Server Speed Test
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Does to process into the index include time for transport and/or block validation (presumably by bitcoind) or this this exclusively the time for Electrum Server to index a validated block? e On 07/23/2015 08:56 AM, Slurms MacKenzie via bitcoin-dev 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.9Gelectrum/utxo 67M electrum/undo 19G electrum/hist 1.4Gelectrum/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. -BEGIN PGP SIGNATURE- Version: GnuPG v1 iQEcBAEBAgAGBQJVsTCdAAoJEDzYwH8LXOFOLpgIAIAe5QBTTgpe2kyYrqamUKNI uasljmNQi3In/rdxNm9Ga+vwTsBg7f4v/xHVrQYAGxdjjZxs0h9bOmAvuc+p2fad ZeHC/vewrtLxB2aVj5JVbSk5ik57ePyk3SmghTpGMAhgTIWkceIrxR+Fq7TFOlqn NGnTuBSSsGL9nY57hIFwMJb2CKdPwMVLL/0gjVQ9Llqt+Fu31eSRhDzHOvJnkofO xwVrVGgST2GE73np3WA0jvzRHjFgsPnQknhjLGQiTgDKsKL0BywE9/Vke2zVNyP7 cAlTQoScEal++9u0h3D475lsxv43V0Rxafc7W0a/OyfXujJ2AlixgV8PlLwhvaY= =DK5K -END PGP SIGNATURE- ___ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev