Traffic shaping for virtual servers and bandwidth share

Hello everybody, I have a very newbie question about traffic shaping with pfSense.
I'm running pfSense under VMWare server 2 and some webservers (virtual machines too) connected to the internet through the firewall.

I've got 10 Mbit of total bandwidth (up&down), and I want to limit the bandwidth of each webserver to 2 Mbit in each direction, allowing more traffic bandwidth if it's available.

I have currently two queues for each webserver, one for the outbound traffic, one for inbound. I've set both to 2 Mbit of maximum bandwidth.
In this way, if there are downloads and uploads at the same time, the total bandwidth is 4 Mbit, that's not what I'm looking for.
The shaper should give 2 Mbit shared and guaranteed between inbound and outbound traffic for each webserver, allowing occasional additional bandwidth if other servers already have their guaranteed bandwidth and there is some more free bandwidth.

How can I do this?
If I set each queue to 1Mbit the total limit would be correct, but the traffic in just one direction would be half of the total available bandwidth for the server!

I must ensure that each customer has 2 Mbit of total bandwidth guaranteed, shared between upload and download traffic.
Leaving queues as they are at the moment, the traffic is guaranteed but I actually give 4 Mbit of total bandwidth to each customer.

Dunno what to tell ya. I spent a good part of the night figuring this out. What I have down on paper looks like it would work, however actually implimenting it in PFSense seems trivial. They made it more complicated than it should be.