Repair going very slow
How to make repairs go faster:


Use the -pr flag.  This repairs only the primary range, which prevents the unnecessary repairs of the additional ranges.  If you run your repairs on all nodes (and you should) then you'll repair everything anyway, but without repairing everything an extra time for each replica.
Focus repairs only on the tables/keyspaces that need it.  Some tables may be static enough that you don't really need to repair them.  For instance, if you don't regularly add new users, you probably don't have to repair system_auth.  Nodetool repair allows you to specify keyspaces and tables to run a repair on, and you should definitely use it.
Avoid streaming repairs from different physical data centers.  This was a big "win" for us.  Nodetool repair allows you to specify a list of hosts to include in the repairs.  If you have multiple data centers, you should limit your node to only repair itself from nodes which are "local" to it.
Focus repairs only on specific token ranges.  You probably won't always have to do this, but sometimes you only have a window that allows you repair for so long.  To programmatically repair say only one third or quarter of your data, you can further focus your repair tasks by specifying certain token ranges.  I don't typically like to do this one, because repairing all data for a table can stretch out for a few days.  But if you have only a small window to run a repair, this might help.


tl;dr :


Don't repair the same data multiple times.
Repair only where you need to.
Stream repairs only from specific, local nodes.
Focus your repairs as much as you can.