personally i only put some on the heatsink but if you do it on cpu it's fine too but i think if there's thermal paste on both of them it's going to be too much so just do it on wichever you want but not on both.
Most guides you see will say to put it on the CPU. Makes sense really as its less likely to fall off a flat even surface than it is a cooler in your hand. It does not go on both.
The Pea size advice can be outdated these days with the CPU being physically a lot smaller than when that advice was first considered to be the correct standard response. these days with a modern CPU a grain of rice sized amount would be fine.
There are still larger CPU's out there so its a little tricky.
Take a look here http://hexus.net/tech/reviews/cpu/32591-intel-core-i7-3...
The first CPU would be fine with a pea sized amount while it would be too much for the second. Too much acts as an insulator rather than a conductor.
You are trying to put enough on to make a very thin coating layer.
I do know people who actually make up a template from thin card and actually spread the paste to fit.
Try and find an on-line guide for your exact CPU if you are not sure.
I always put some on the bottom of the heatsink and then wipe it off to fill in any microscopic imperfections,then i put a grain of rice size dab of thermal paste on the cpu and then mount the heatsink......