i checked the resourceusage on our server(Battlefield.no #1 Realism 42 player server), and the CPU had peaked at 64%. So the server is not the issue here.
As for sound: Testing more tonight.
How many cores does the server have?
I ask because if the server is anything like the client, it does not multithread well, so tracking CPU utilization is not going to give you a realistic picture of whether or not the CPU is the bottleneck.
lets take the extreme example. 1 running thread, not multitheaded loads one core to 100% but can't go any faster because it can't make use of more than one at a time. if you have two cores, then this is going to be reported as 50% CPU utilization, even though one core is pinned, and is the performance bottleneck.
Sadly, even looking at the utilization per core isn't a good way to track whether or not you are CPU limited, as the scheduler load balances heavy threads (to make sure the CPU heats up evenly, among other things) and switches heavy threads between cores several times a second. The task manager doesn't update often enough to notice this, and as such is really reporting the ~one second average load for each core.
Again, in the extreme example of one 100% loaded thread on two cores, this is going to be reported as 50% load on each thread, but it can't go any faster, because it is alternating super fast between 100% load on core0 and 0% load on core1 and 0% load on core0 and 100% load on core1.
These are - of course - highly oversimplified examples, but they illustrate why you can't use CPU utilization to diagnose a CPU bottleneck.
The best, way to diagnose something like this is to benchmark it. Test the CPU at current clock, then clock it down a few hundred Mhz. If benchmarked performance decreases, you probably have a CPU bottleneck.