There are two resources you need to run a Rails unicorn worker process: memory and CPU.
Most likely, you will run out of memory before you are able to exhaust the CPU resources on a Heroku dyno. Therefore, measure the loaded in-memory size of your app per unicorn worker and you get a rough number of workers you can fit with some headroom.
For example, if your app need about 110mb (common Rails 3.2 needs), you can fit about 4 on a single 1X dyno.
Heroku provides 2X dynos with more memory and CPU. I do not recommend 2X dynos because they have not delivered 2x performance in our benchmarks.
You can spin up a terminal on a dyno to manually run unicorn and measure the memory usage via:
> heroku run bash
> unicorn -c config/unicorn.rb & # Run unicorn in the background
> ps euf # Read RSS value for each worker, in kb - ie: 116040 ~ 116mb
You can view your Application configuration using:
> heroku config
> heroku config | grep WEB_CONCURRENCY # Filter config output to WEB_CONCURRENCY
EDIT: Heroku posted updated information about dyno sizing three months after I originally answered this.