You can see that the daily gasUsed chart below shows the increase in gasUsed during the state clearing period:

One of the state clearing operations in block 2,686,351triggered a consensus bug in geth causing a network fork in the blockchain. This was caused because the behaviour in one of the state clearing operations produced a different state compared to Parity.

2,421,507 to 2,463,130 - Account bloat transactions where 19 million empty accounts were created. This causes the node clients to slow down as the many accounts cannot be kept in cache requiring slow re-retrieval from disk.

This is the state clearing process working as intended. It looks like a DoS, because it's "poking" about 20 million accounts by zero-value calling each one, and each call causes the protocol to notice that the account is empty and thereby delete it from the state. The process of deleting the account from the state takes O(log(n)) disk writes, but the zero-value call only costs 700 gas, and so it these transactions take longer than usual to process.

Note that any state clearing mechanism that we could have implemented would still have required making these 20 million account deletions, so this is unfortunately an unavoidable temporary side effect; we can dial down the speed of the process if users find the current level too difficult to deal with, though that will increase the length of time the spam will have to go on.

The only way to do it is to poke empty accounts, and once all ~20 million empty accounts have been poked it will no longer be possible to do this; all modifications to the account tree will cost at least 5700 gas per modification.

Computers with hard disk drives (HDD) are slowed down more compared to computers with solid state drives (SSD). Computers with 4Gb RAM + 4Gb swap disk or less were also harder hit, with the node clients crashing.

Your options are:

If you are using a HDD and you can upgrade to an SSD then do so and re-sync.

Leave your computer switched on and syncing, and wait for the blocks to slowly sync.

Remove your old blockchain data and Ethereum Wallet will then execute a fast sync where it does not have to fully validate each of these spam transactions. See this for further information on removing your old blockchain data.

Use Parity as your node client with the --geth parameter that will allow the Ethereum Wallet or Mist to communicate with it. See Using Parity with Mist. Parity syncs much faster than geth and is a drop-in replacement node client for Ethereum Wallet / Mist.

Update Nov 23 2016 - Some Results From A Full Sync

The following output from a full sync shows the speed of syncing improving after the end of the account bloat transaction attack blocks and slowing down again during the low impact transaction spam attack blocks. Further logs from the geth full node sync can be found here:

downloaded parity. unfortunately didn't find out yet how to switch the folder where the blockchain will be downloaded to. tried --datadir=d:\some\folder but d:\some\folder will only contain some meta data but not the chaindata. Chaindata is still at c:\users\blub\appdata\etc
– tobiApr 4 '17 at 13:58