The HT benefit will already be included in some CPU vs CPU benchmarks. If it isn't you will probably get a 25% performance boost from hyperthreading. You should also consider memory bandwidth.
Modern CPUs gain performance by a process known as pipelining. A pipline is a series of stages. As each instruction passes through each stage it frees it up so the next instruction can use that stage.
Most instructions don't use all the stages. So some stages will be idle. Hyperthreading makes use of these spare stages by pretending that a second "virtual" CPU exists, so that a second stream of instructions can be running through the real CPU at the same time as the first.
Some of the time the two streams will want to use the same stages. Some of the time they will want to use different stages - and that's a bit like a free lunch.
Except that getting this to work requires some management - an overhead - and increases the complexity of the CPU - a cost.
The figure I have seen banded about is an average benefit of 25% over an (otherwise identical) P4 without Hyperthreading enabled.
Bear in mind that most benchmarks you see will have Hyperthreading enabled, so this 25% boost is already included in the CPU for CPU comparison. Bear in mind also, that some benchmarks are single threaded, so they are unable to benefit. Read the comparisons with great care!
By contrast ,in a web server, where you really are running multiple tasks, you can be confident that you will have work stacked up to exploit both CPUs.
Bear in mind also, that the two MP CPUs will have to share memory bandwidth. If your applications have a high memory load relative to the CPU load, then memory might prove the limiting factor. In that case an Opty might be the answer.