So, if your application is IO-bound, how do the IO systems of the two machines compare? How many, and what type of disks do they have? What's the RAID configuration? What types of controllers? Read/write cache? What filesystems are you using?
Have you benchmarked the two machines for the kind of IO load you expect from your app?
This is merely anecdotal information, so take it with a grain of salt. In my experience, Solaris is extremely conservative in allocating processes CPU time. I can do a build on a Windows XP laptop that takes a minute but the same build on my Solaris 5.9 server will take 5 minutes. Looking at top, there's nothing else happening on the machine (it's dedicated to my project) and there is plenty (~50%) CPU idle. This makes sense, since Solaris is designed to support a lot of concurrent users. If Solaris allowed one user/process to dominate the CPU, it wouldn't be able to concurrently service others. You may want to discuss your concerns with a Solaris admin and see if there's any OS configuration that can allocate your server some more power.
"James_ Ryan", you have previously been warned on multiple occasions regarding adjusting your display name to meet JavaRanch standards. This is not optional, and this is your final warning. Adjust your display name to comply with the required standards prior to your next post.
Your display name must be a first and a last name separated by a space character, and must not be obviously fictitious. To comply, all you need to do is to remove the spurious underscore character.
Failure to comply will result in the removal of your account.