The decision for how to assign the available money to be spent on drives, ram & CPU's requires knowledge for the bandwidth ( why worry about CPU speed if you've only got a 1mb upload channel ) and usage patterns.
If you've only got 100mb of data, you don't need 2GB of ram
If you are firing stored MySQL5 procedures to analyze gb'S OF data, you need both fast drives and mega CPU's but ram isn't that big a deal
My experience for remote access is that as long as memory is at least 2x the data, I can't tell what CPU speed server is supplying the data, the bandwidth is the limiting factor.
I'm seeing dual core 2.6GH cpu's at just over 100US$ , 1 GB ram about the same. Dual procesor boards & cpu's are so much more, you may be better off with multiple servers and split the tasks so spam & web browsing don't slow down the data server.
Some ISP's sell two 'slow' channels for way less than one fast one, or will give you a 'lite' service for $20 a month. That may remove a lot of traffic from your important channel!
IMO ( comments welcomed )