There is some room for optimization in the Electrum server: - the utxo database (patricia tree) should be made a binary tree. - the server is written in python, which is slow.
I am not too worried about the short-term; a block takes on average 15s to process on my server. For example, here are the last blocks in my log: [23/07/2015-17:11:57] catch_up: block 366604 (0.145s 27.278s) [23/07/2015-17:37:55] catch_up: block 366605 (0.126s 24.453s) [23/07/2015-17:50:23] catch_up: block 366606 (0.133s 21.666s) [23/07/2015-18:03:22] catch_up: block 366607 (0.110s 31.680s) [23/07/2015-18:11:14] catch_up: block 366608 (0.093s 18.269s) [23/07/2015-18:26:38] catch_up: block 366609 (0.115s 27.925s) [23/07/2015-18:29:07] catch_up: block 366610 (0.062s 8.163s) [23/07/2015-18:44:18] catch_up: block 366611 (0.118s 21.294s) [23/07/2015-18:52:14] catch_up: block 366612 (0.075s 12.535s) [23/07/2015-18:58:54] catch_up: block 366613 (0.100s 17.857s) [23/07/2015-19:04:18] catch_up: block 366614 (0.061s 11.174s) [23/07/2015-19:10:31] catch_up: block 366615 (0.064s 10.151s) [23/07/2015-19:11:04] catch_up: block 366616 (0.035s 2.962s) [23/07/2015-19:19:53] catch_up: block 366617 (0.081s 13.125s) [23/07/2015-19:25:23] catch_up: block 366618 (0.037s 8.377s) [23/07/2015-19:28:08] catch_up: block 366619 (0.044s 3.984s) [23/07/2015-19:30:36] catch_up: block 366620 (0.051s 6.105s) [23/07/2015-19:40:05] catch_up: block 366621 (0.058s 14.632s) [23/07/2015-19:42:10] catch_up: block 366622 (0.040s 4.143s) That server is a Hetzner EX40 box, rented for 50 eur/month. Of course if you run the electrum server on a cheap VPS, performance might not be as good. Le 23/07/2015 17:56, Slurms MacKenzie via bitcoin-dev a écrit : > 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 > _______________________________________________ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev