Isolating processors is not enough. Your bottleneck is probably the memory backplane (or disk thoroughput) which doesn't partition. The small time delay in your client is probably freeing the backplane to service the starved processes. The only way the backplane won't be a factor is if everything fits into cache - which almost never happens.case. On the other hand, I have used solaris "psrset" to logically divide the 14p server into "two" machines, and I bind the server and the client to different processor sets. And the results shows again the small delay time have important impact on system throughput.
If you want to mimic the real world, use separate machines and a fast network backbone. GigE is probably what you'd need to make the CPU the bottleneck - special cases can be crafted with mod_include or large files that saturate FastE (see flood). For optimal performance, you'd need to ensure that your NICs and disk use DMA. This allows for zero copy - ensure you are using sendfilev() on Solaris. -- justin
