I have switched to using a simple python script that iterates over a cursor for all records. This seems to be about 10X faster than remove().
This is mongostat for the query that is executing currently (iterate manually). Stay tuned for an update.
insert query update delete getmore command flushes mapped vsize res non-mapped locked % idx miss % qr|qw ar|aw netIn netOut conn time
0 0 0 0 1 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 107b 4m 4 14:44:47
0 0 0 0 0 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 62b 1k 4 14:44:48
0 0 0 0 1 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 107b 4m 4 14:44:49
0 0 0 0 1 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 107b 4m 4 14:44:50
0 0 0 0 0 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 62b 1k 4 14:44:51
0 0 0 0 1 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 107b 4m 4 14:44:52
0 0 0 0 0 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 62b 1k 4 14:44:53
0 0 0 0 1 1 0 258g 518g 1.41g 260g 0 0 0|0 0|0 107b 4m 4 14:44:54
0 0 0 0 1 1 0 258g 518g 1.41g 260g 0 0 0|0 0|0 107b 4m 4 14:44:55
0 0 0 0 0 1 0 258g 518g 1.41g 260g 0 0 0|0 0|0 62b 1k 4 14:44:56
insert query update delete getmore command flushes mapped vsize res non-mapped locked % idx miss % qr|qw ar|aw netIn netOut conn time
0 0 0 0 1 1 0 258g 518g 1.41g 260g 0 0 0|0 0|0 107b 4m 4 14:44:57
0 0 0 0 1 1 1 258g 518g 1.41g 260g 0 0 0|0 0|0 107b 4m 4 14:44:58
0 0 0 0 0 1 0 258g 518g 1.41g 260g 0 0 0|0 0|0 62b 1k 4 14:44:59
0 0 0 0 1 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 107b 4m 4 14:45:00
0 0 0 0 1 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 107b 4m 4 14:45:01
0 0 0 0 0 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 62b 1k 4 14:45:02
0 0 0 0 1 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 107b 4m 4 14:45:03
0 0 0 0 1 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 107b 4m 4 14:45:04
0 0 0 0 0 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 62b 1k 4 14:45:05
0 0 0 0 1 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 107b 4m 4 14:45:06
insert query update delete getmore command flushes mapped vsize res non-mapped locked % idx miss % qr|qw ar|aw netIn netOut conn time
0 0 0 0 1 1 0 258g 518g 1.42g 260g 0 0 0|0 1|0 62b 1k 4 14:45:07
0 0 0 0 0 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 107b 4m 4 14:45:08
0 0 0 0 1 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 107b 4m 4 14:45:09
0 0 0 0 0 1 0 258g 518g 1.42g 260g 0 0 0|0 0|0 62b 1k 4 14:45:10