The last commenter on the original thread is absolutely right: Rails follows different "concurrency model", i.e. it needs multiple processes to run well, especially on multi-core CPUs. He needs to create a cluster of 4-6 mongrels on 2-core CPU and the margin will shrink.
... and? Rails forks. It's slow even for a Ruby framework. You could beat both ErlyWeb and Rails handily in C, if your priorities were that far out of whack. Nobody uses Rails for its speed.
EC2 instances are virtualized machines, right? What about differing CPU contention (i.e. steal times) based on the load of other virtual machines on the same box?
I don't think the results would change much, but to be safe, I think you should run this comparison on multiple random ec2 instances, to account for differing external loads.
The author compiled ErlyWeb and YAWS with HiPE (http://www.it.uu.se/research/group/hipe). Are there any issues with using HiPE instead of the Erlang/OTP compiler?